Команда «Помогите» (Defectio.py, аналогично discord.py)

#python #python-3.x #discord #discord.py

Вопрос:

Я использую revolt.chat, который имеет аналогичный API для discord.py называется дефектио.

Это документация для команды справки по умолчанию https://github.com/Darkflame72/defectio/blob/main/defectio/ext/commands/help.py#L920

Я ищу способ записать команду справки в свой служебный винтик(опять же, выполнение этого было бы очень похоже на discord.py и используя discord.py ответить было бы прекрасно, так как я могу это перенести)

Для справки, вот как в настоящее время выглядит моя команда справки, но она совсем не там, где мне бы хотелось.

 import defectio

from defectio.ext import commands

import random
import asyncio
import sys
import os

class MyHelpCommand(commands.MinimalHelpCommand):
    def get_command_signature(self, command):
        return '{0.clean_prefix}{1.qualified_name} {1.signature}'.format(self, command)

    async def send_bot_help(self, mapping):
        for cog in mapping:
            await self.get_destination().send(f'{cog.qualified_name}: {[command.name for command in mapping[cog]]}')

class Utility(commands.Cog):
    def __init__(self, bot):
        self._original_help_command = bot.help_command
        bot.help_command = MyHelpCommand()
        bot.help_command.cog = self



    def cog_unload(self):
        self.bot.help_command = self._original_help_command

def setup(bot: commands.Bot) -> None:
    bot.add_cog(Utility(bot))
 

Для справки о стиле, это тот стиль, который мне бы понравился. (Восстание поддерживает уценку таблицы)

         await message.channel.send(r"""| Command/Module | Information | Usage |
|----------|----------|----------|
| $color{cyan}fbox{textbf{textsf{Utility}}}$ |    |    |
| .help   | Use .help if you're confused on where to get started   | .help (commands)  |
| .commands   | Check (a module's) commands.   | .commands (module)  |
|    |    |   |
| $color{red}fbox{textbf{textsf{Administration}}}$   |    |
|  .r  | Restart the bot.(Owner only)   | .r  | """)