如何为命令discord.py分配子帮助?



如何为discord.py中的命令分配子帮助?

class xkcd(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def hi(self, ctx):
await ctx.send('hey')

当我输入

有几个选项取决于您想要显示的内容和您想要显示的位置,但我会给出重要的选项。如您所料,briefdescription允许您指定命令的简要描述和完整描述。它们是@client.command()的参数,放在@client.command(HERE)上。在您的情况下,这将是@commands.command(HERE)

另外:正如Taku提到的,help参数也会允许你做你想做的事。@commands.command(help="")让你为帮助消息定义长文本,这样就可以了briefdescription同时存在。如果你不需要,可以使用这个区分两种描述

当运行!help命令时,brief将给您一个简短的描述,没有给出任何参数。下面显示的bot的输出:

​No Category:
help  Shows this message
hi    This is where the BRIEF would be found.
Type !help command for more info on a command.
You can also type !help category for more info on a category.

当命令作为参数传递给默认的帮助命令时,description将设置消息,在您的情况下:!help hi。bot的输出如下所示:

This is where the DESCRIPTION is found.
!hi
所以,总结一下,你的新代码看起来像这样:
class xkcd(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command(brief="This is where the BRIEF would be found.", description="This is where the DESCRIPTION is found.")
async def hi(self, ctx):
await ctx.send('hey')

只需将字符串更改为您想要的每个命令。

我还建议阅读关于这个问题的文档,在这里找到。这将遍历command()函数的所有参数,并且知道您拥有的所有选项总是好的。

edit:看到评论澄清了你所说的sub-help是什么意思

尝试创建另一个名为help_hi的命令然后在别名中将其命名为help hi所以它调用它时没有_

例子:

@commands.command()
async def hi(self, ctx):
await ctx.send('hey')
@commands.command(aliases = ["help hi"])
async def help_hi(ctx):
await ctx.send("Using `!hi` will make the bot respond with `hey`")

或者您可以像这样暗示帮助部分:

@commands.command(help = "Want <bot_name> to say hi? Use `!hi`")
async def hi(self, ctx):
await ctx.send('hey')

所以现在当你运行命令!help默认帮助嵌入不和谐申请你会显示它!

如果这不能回答你的问题,请告诉我!

试试这个:

class xkcd(commands.Cog):
def __init__(self, bot):
self.bot = bot
@commands.command()
async def hi(self, ctx):
"""
This is the description for my very cool command.
Have a very good day!
"""
await ctx.send('hey')

文档字符串用于向函数中添加文档,它们在discord.py中用于!help <command>

docstring的第一行将用作!help中的第一行,因此在本例中它将被列为:

hi    This is the description for my very cool command.

!help hi将显示:

!hi 
This is the description for my very cool command.
Have a very good day!

相关内容

  • 没有找到相关文章

最新更新