python - 有没有办法从消息中获取命令的名称(Discord.py)
问题描述
通常,当您使用 discord.py 模块创建命令时,您会执行以下操作:
@commands.command(name="my_command", pass_context=True, aliases=["mc"])
def my_command(ctx):
#Do some command action here
我希望能够使用我的 Discord 机器人来调节命令,以便命令只能在指定频道中使用,例如“my_command”只能在 #general 中使用。
获取命令名称的一种简单方法是执行以下操作:
def get_command_name(message, prefix):
command = message.split()[0].strip(prefix)
如果我可以使用诸如message.command_used
获取命令之类的东西会更好,但是我检查了文档,似乎没有类似的东西。有没有办法从字符串操作中获取使用的命令,context
而不是从字符串操作中获取命令?
解决方案
但我检查了文档,似乎没有类似的东西
在文档中,commands.Context
您可以找到command
和invoked_with
,您可以使用这两者来获取命令的名称。如果您想包含可能的子命令,也有invoked_subcommand
。
推荐阅读
- amazon-web-services - 以非 root 用户身份在脚本中从 AWS ECR 获取 Docker 容器
- c++ - 我可以像这样在 C++ 中转换:int ('a') 吗?
- c# - 如何进行单元测试 - 压缩文件
- regex - 如何删除带有文本的括号和字符串末尾的一些文本
- hana - 为什么增量加载会向 HANA 插入重复记录?
- c# - 控制台光标前的 Cosmos C# 文本
- gitops - 如何将 UI 和核心原理配置作为代码使用?
- sql - 需要帮助使用 Flask 应用程序访问 Jinja 中的 Python 字典值
- python - 在尝试使用 PyQt UI 运行代码时使用 selenium 和 python 问题 i
- mysql - 如何复制一行并在同一个表中插入,并使用mysql中的用户值更新特定列?