Мне удалось сделать то, что я задумал, следующим образом:
Я создал свою собственную команду помощи, которая расширяется (наследуется) от DefaultHelpCommand
, затем я переопределяю сопрограмму send_bot_help
и меняю сортировку на сравните с помощью поля команды description
вместо поля имени команды (я предпочел создать собственное поле order
или подобное, но не смог найти правильный способ сделать это, поэтому я использовал существующее поле).
Затем я упорядочиваю свои команды следующим образом:
@commands.command(help="A helpful description of cmd1", name="commandName", description='1')
@commands.command(help="A helpful description of cmd2", name="commandName2", description='2')
Ниже приведен класс:
class MyHelpCommand(DefaultHelpCommand):
async def send_bot_help(self, mapping):
# ... everything up here copy-pased from original superclass
# This used to be c.name
commands = sorted(commands, key=lambda c: c.description)
# ... The rest is also copy-pasted
Затем я использую его, как предложено:
help_command = MyHelpCommand()
client = commands.Bot(command_prefix=Config.COMMAND_PREFIX, help_command=help_command)