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

discord.js v13机器人斜杠命令回复提及角色无法触发@提醒怎么办

问题核心原因

discord.js v13及以上版本默认关闭了交互回复的角色提及权限,避免机器人滥用提及功能,所以即便你写对了<@&角色ID>的格式,也只会显示普通角色名,不会触发对应角色的提醒。

修复方案

在interaction.reply参数中添加allowedMentions配置项,明确放开角色提及权限即可,修改后的代码如下:

async execute(interaction, client) {
  interaction.reply({
    content: "This is the role mention  : <@&roleid>",
    // 新增提及权限配置
    allowedMentions: {
      parse: ["roles"]
    }
  })
},

如果仅需要允许单个/指定几个角色被提及,更安全的写法是直接指定允许的角色ID列表:

async execute(interaction, client) {
  // 替换为你要@的实际角色ID
  const targetRoleId = "123456789xxxxxx";
  interaction.reply({
    content: `This is the role mention  : <@&${targetRoleId}>`,
    allowedMentions: {
      // 仅列表内的角色ID可以被提及,不会放开所有角色的提及权限
      roles: [targetRoleId]
    }
  })
},

注意事项

  • 机器人需要在对应服务器拥有提及@everyone、这里和所有角色的权限,否则即便代码配置正确也无法触发提醒
  • 你要@的角色需要开启允许任何人@提及此角色的设置,否则也无法触发提醒

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:27:02