You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 13:21:02