#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 | """)