通常,当您使用 discord.py 模块创建命令时,您会执行以下操作:
@commands.command(name="my_command", pass_context=True, aliases=["mc"])
def my_command(ctx):
#Do some command action here
我希望能够使用我的 Discord bot 来管理命令,以便命令只能在指定的频道中使用,例如“my_command”只能在#general 中使用。
获取命令名称的一种简单方法是执行以下操作:
def get_command_name(message, prefix):
command = message.split()[0].strip(prefix)
如果我可以使用类似 message.command_used
之类的东西来获取命令会更好,但我检查了文档,似乎没有这样的东西。有没有办法从 context
获取使用的命令而不是从字符串操作中获取命令?
答案 0 :(得分:1)
但是我查看了文档,似乎没有类似的东西
在 commands.Context
的文档中,您可以找到 command
和 invoked_with
,您可以使用它们来获取命令的名称。如果您想包含可能的子命令,还有 invoked_subcommand
。