我正在尝试更改帮助命令以使用帮助的分页版本。
我知道以下代码行完全删除了 help 命令:
bot.remove_command('help')
Run Code Online (Sandbox Code Playgroud)
docs/dicord.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
Run Code Online (Sandbox Code Playgroud)
我仍然是 Python 的新手,而且我只学习了 3 天左右的重写 - 我正在努力寻找任何工作示例或不会引导我回到上述代码的解释。我无法弄清楚如何将其实现到我自己的代码中 - 所以我的问题是,有人可以进一步解释如何使用 cogs 实现它吗?
小智 10
您可以使用help_command=None. 它删除默认的帮助命令,您可以创建您的帮助命令。例子:
bot = commands.Bot(command_prefix='!', help_command=None)
@bot.command()
async def help(context):
await context.send("Custom help command")
Run Code Online (Sandbox Code Playgroud)
如果您没有设置help_command=None并尝试创建您的帮助命令,您会收到此错误:discord.errors.ClientException: Command help is already registered.