Discord.py中如何获取斜杠命令ID(避免硬编码)
获取Discord命令ID实现可点击帮助命令
- 要获取
discord.app_commands.Command的ID,直接访问命令对象的id属性即可,它会返回命令的唯一标识符,无需手动复制硬编码。 - 针对你现有的代码,修改如下:
data = [] commands = cog.get_commands() for command in commands: # 过滤出应用命令,避免前缀命令因无id属性报错 if isinstance(command, discord.app_commands.Command): description = command.description.partition("\n")[0] data.append(f"</{command.name}:{command.id}> - {description}")
- 补充说明:如果你的cog中同时存在前缀命令(
discord.ext.commands.Command类型)和应用命令,必须添加类型判断,因为前缀命令没有id属性,直接访问会抛出异常。 - 应用命令的
id属性是机器人全局唯一的,使用它生成的</命令名:ID>格式可以直接在Discord中被识别为可点击的命令。
内容的提问来源于stack exchange,提问作者SDeVuyst
相关产品推荐
相关产品推荐

