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

Discord.js v13斜杠命令权限设置、代码放置位置及命令ID获取方法

问题1:权限设置代码的放置位置

你可以根据使用场景选择对应放置位置:

  • 若要配置所有服务器通用的命令默认权限,直接将权限配置代码和命令定义代码放在同一文件,配合SlashCommandBuilder提供的setDefaultMemberPermissions()方法完成配置即可。
  • 若要针对特定服务器配置自定义权限,可选两个放置位置:
    • 放在deploy-commands.js脚本末尾:你向Discord接口发送命令部署请求后,返回的结果会包含已创建的完整命令对象,在拿到返回结果后直接追加权限配置代码,运行一次部署脚本即可完成权限设置。
    • 放在机器人的ready事件回调中:适合部署完成后需要动态调整权限的场景,机器人启动后会自动执行对应权限配置逻辑。

问题2:获取斜杠命令ID的常用方法

  • 部署时直接打印获取:在deploy-commands.js的部署逻辑中,拿到接口返回的命令数组后,添加打印代码即可直接输出所有命令的名称与对应ID,示例:
    console.log(commands.map(cmd => `命令名:${cmd.name} | ID:${cmd.id}`))
    
  • 手动复制:先打开Discord客户端的开发者模式(路径:设置→高级→开发者模式),进入任意服务器输入/唤起命令列表,右键目标命令即可选择「复制ID」。
  • 代码动态拉取:在机器人运行时通过接口拉取全量命令列表遍历获取,示例代码:
    // 拉取全局命令列表
    const globalCommands = await client.application.commands.fetch()
    // 拉取指定服务器的命令列表
    const guildCommands = await client.guilds.cache.get('服务器ID').commands.fetch()
    

内容的提问来源于stack exchange,提问作者01101101

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:54:08