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

如何让Discord Bot回复时携带消息发送者的用户名?

解决Discord Bot回复包含用户名的问题

你遇到的核心问题是没用到JavaScript模板字符串的正确语法——模板字符串必须用**反引号()**包裹,而非单引号(')或双引号(")。要是用错引号,${message.author}`这类占位符会被当成普通文本输出,不会解析成实际的用户名。

正确代码示例

假设你的消息监听逻辑是这样,修改引号就能解决:

client.on('messageCreate', (message) => {
  // 用反引号包裹字符串,才能解析${}占位符
  message.reply(`hello ${message.author}!`);
  // 也可以单独获取用户名或完整标签:
  message.reply(`hello ${message.author.username}!`);
  message.reply(`hello ${message.author.tag}!`);
});

常见错误排查

  • 确认用的是反引号(和键盘上的~是同一个键),别用单引号或双引号
  • 检查变量名是否匹配:确保回调参数是message(如果是msg或user,得先在代码里定义对应的变量)
  • 如果你用的是Discord.js v14及以上版本,要确认监听的是messageCreate事件(v12及更早版本是message事件)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 02:15:27