我正在尝试更改帮助命令以使用分页的帮助。
我了解以下代码完全删除了help命令:
bot.remove_command('help')
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
我仍然是python的新手,而且我只学习了大约3天的重写-我一直在努力寻找任何可行的示例或说明,这些都无法使我回到上面的代码。我无法弄清楚如何在自己的代码中实现它-所以我的问题是,任何人都可以对如何使用嵌齿轮实现进一步的解释吗?
答案 0 :(得分:3)
您可以使用help_command=None
。它删除默认的帮助命令,您可以创建您的帮助命令。示例:
bot = commands.Bot(command_prefix='!', help_command=None)
@bot.command()
async def help(context):
await context.send("Custom help command")
如果您未设置help_command=None
并尝试创建帮助命令,则会出现此错误:discord.errors.ClientException: Command help is already registered
。
答案 1 :(得分:1)
你真的不需要删除命令......这不好,使用(前缀)帮助命令名<-它不会出现......如果你想要它嵌入你可以做。
class NewHelpName(commands.MinimalHelpCommand):
async def send_pages(self):
destination = self.get_destination()
for page in self.paginator.pages:
emby = discord.Embed(description=page)
await destination.send(embed=emby)
client.help_command = NewHelpName()
内置的帮助命令很有用