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

Discord Bot被提及后重复回复问题求助

Discord Bot重复回复问题修复

你编写的提及触发回复代码出现了重复回复的问题(截图显示Bot连续发送多条"Hi"消息),核心问题有两个:

  • 条件判断逻辑错误:原代码中|| '<@!935849545789763585>'并非有效的比较逻辑,非空字符串在布尔判断中始终为真,导致所有消息都会触发回复,包括Bot自己发的内容。
  • 未过滤Bot自身消息:Bot发送的"Hi"会触发messageCreate事件,再次进入判断逻辑,形成循环回复。

修复后的代码:

client.on("messageCreate", (message) => {
    // 跳过Bot自身发送的消息,避免循环触发
    if (message.author.bot) return;
    
    const botUserId = "935849545789763585";
    // 正确判断消息是否为两种格式的Bot提及
    const isBotMentioned = message.content === `<@${botUserId}>` || message.content === `<@!${botUserId}>`;
    
    if (isBotMentioned) {
        message.channel.send('Hi');
    }
});

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 14:40:33