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

Discord Bot添加on_message内if语句后无响应问题求助

Discord Bot !hungry指令无响应排查方案
  • 精准匹配消息内容
    可能是输入的消息带空格、大小写差异导致匹配失败。试试兼容写法:

    // 忽略大小写
    if (message.content.toLowerCase() === '!hungry') {
      // 你的响应逻辑
    }
    // 或去除首尾空格后匹配
    if (message.content.trim() === '!hungry') {
      // 你的响应逻辑
    }
    
  • 检查事件监听是否被拦截
    确认messageCreate(Discord.js v14+)或message(旧版本)事件里,没有前置的return语句跳过了后续判断——比如其他指令的逻辑提前终止了函数,导致!hungry的判断根本没执行。

  • 验证Bot权限
    确保Bot在目标频道拥有「读取消息历史」和「发送消息」权限,没有权限的话即使触发了判断,也无法输出响应内容。

  • 打印调试信息
    在事件里先输出接收到的消息内容,确认Bot实际拿到的消息和你输入的一致:

    client.on('messageCreate', (message) => {
      console.log(`实际收到消息:${message.content}`);
      if (message.content === '!hungry') {
        message.reply('指令已触发!');
      }
    });
    
  • 排除自身消息干扰
    记得跳过Bot自己发送的消息,避免逻辑混乱:

    client.on('messageCreate', (message) => {
      if (message.author.bot) return; // 跳过Bot自身消息
      if (message.content === '!hungry') {
        // 你的响应逻辑
      }
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 22:50:27