如何格式化默认帮助命令

How to format default help command

谁能告诉我如何格式化 discord.py 中的默认帮助命令 我已经知道如何更改说明,但是我希望能够更改宽度并按字母顺序对它们进行排序。

感谢您的帮助 :)

您可以覆盖默认帮助命令中的某些功能。下面是一个关于如何初始设置的官方示例:

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

class MyCog(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

上面的例子覆盖了get_command_signature的实现。

如您所见,您应该创建一个新的 HelpCommand class 并更改函数。您不想更改的内容可以保持不变,您不必 copy-paste 那里的现有代码。

要查看 HelpCommandMinimalHelpCommand 可以做什么(覆盖方法),我建议滚动浏览相关的 API Documentation.

这样,如果您不喜欢默认帮助,您可以更改它的行为并自行修复。在您的情况下,您需要在将命令列表添加到代码块之前对其进行排序。

我建议浏览一下默认实现的功能,看看您需要对其进行哪些更改。在您的情况下,send_bot_helpsend_cog_helpsend_command_helpsend_group_help 需要对列表进行排序。