Discord.js机器人DM日志显示代码字符串而非实际内容求助
解决Discord机器人DM消息记录显示字面量的问题
嘿,这个问题其实很好解决——你只是没用到JavaScript模板字符串的变量插值语法而已!
你现在的代码里,虽然用反引号包裹了字符串,但没有对变量做插值处理,所以机器人会把message.author.tag和message.content当成普通文本直接发送,而不是读取实际的用户标签和消息内容。
只需要把变量用${}包裹起来,让JS解析它们的值就行,修正后的代码如下:
client.on('message', message => { if (message.channel.type === "dm" && message.author.id !== client.user.id) { client.channels.cache.get('789752010572169216').send(`${message.author.tag} | ${message.content}`); } });
小提示:
- 确保目标频道的ID是正确的,同时机器人拥有该频道的发送消息权限
- 如果你使用的是Discord.js v14及以上版本,
message事件已经被官方替换为messageCreate,如果后续遇到兼容性问题,可以考虑切换到这个新事件
内容的提问来源于stack exchange,提问作者DiscordUser
相关产品推荐
相关产品推荐

