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

Discord bot 特定用户被@时触发响应功能失效问题咨询

故障排查与解决方案

核心失效原因

Discord 不会将消息中的用户提及以显示层面的纯文本@用户名#标签格式存储在msg.content字段内,提及用户的实际存储格式为<@用户数字ID>(使用服务器昵称提及时为<@!用户数字ID>),你当前直接全等匹配@usertag#0001的逻辑自然无法触发。

修复步骤

  • 打开Discord客户端的开发者模式,右键目标用户复制其纯数字ID。
  • 优先使用Discord.js内置的提及检测API实现逻辑,避免手动匹配格式出错,修复后代码示例如下:
// 若使用Discord.js v14及以上版本,请将事件名替换为 messageCreate
client.on('message', msg => {
  // 替换为你复制的目标用户的纯数字ID
  const TARGET_USER_ID = '替换为实际用户ID';
  // 检测当前消息是否提及了目标用户
  if (msg.mentions.users.has(TARGET_USER_ID)) {
    msg.channel.send(`<@${msg.author.id}> <@${msg.author.id}> <@${msg.author.id}> <@${msg.author.id}> don't tag me`);
  }
});
  • 检查权限配置:登录Discord开发者后台,进入你的Bot应用的「Privileged Gateway Intents」板块,开启Message Content Intent权限,Discord.js v13及以上版本必须开启该权限才能正常读取消息内容。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 20:15:04