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

Discord.js开发:实现机器人ping(@提及)成员的正确方法

报错原因

你遇到unexpected sign '<'语法错误,是因为代码里的<@id>没有被包裹为字符串,JavaScript会直接把<识别为运算符,自然触发解析错误。

正确实现方式

Discord 内@成员的格式规则确实是<@用户ID>,但这部分内容必须作为字符串传入发送方法,有两种常用写法:

  • 直接拼接字符串写法:把你需要@的成员的真实数字ID填入模板字符串对应位置即可
// 将1234567890替换为你要@的成员的实际用户ID
message.channel.send(`<@1234567890> 要附带发送的文本内容`);
  • 如果你已经通过接口拿到了对应的成员对象(GuildMember类型)或用户对象(User类型),可以直接在字符串里插入对象,Discord.js会自动把它转成合法的@提及格式,不需要手动拼接格式串:
// 例:拿消息触发者的成员对象,@发送消息的用户
const targetMember = message.member;
message.channel.send(`${targetMember} 要附带发送的文本内容`);
注意事项
  • 如果消息发送后没有成功触发@提醒,先排查两个问题:
    • 填入的ID是目标用户的纯数字ID,不是用户昵称、标签或者其他自定义标识
    • 机器人在当前频道拥有发送消息、提及@成员的对应权限,频道没有开启限制机器人提及的规则

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 19:48:29