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

Bot接收消息后未正常回复问题求助(附代码)

问题排查与解决方案

针对你的Discord Bot能接收消息但不响应ping命令的问题,按以下步骤排查修复:

  • 检查Bot频道权限
    确认Bot在目标频道拥有「发送消息」「读取消息历史」「管理消息」权限。进入服务器设置→角色→找到Bot对应的角色,勾选上述权限。

  • 修正消息匹配逻辑
    原代码的严格全等匹配===会因大小写、额外空格导致匹配失败,改成忽略大小写的匹配:

    if (msg.content.toLowerCase() === 'ping')
    

    或用正则实现更灵活的匹配:

    if (/^ping$/i.test(msg.content))
    
  • 调整异步操作顺序
    msg.reply和msg.delete都是异步操作,未等待执行完成可能引发异常,改成异步函数确保执行顺序:

    client.on('message', async msg => {
      console.log("Message recieved.");
      // 排除Bot自身消息,避免触发循环
      if (msg.author.bot) return;
      if (msg.content.toLowerCase() === 'ping') {
        await msg.reply("pong");
        await msg.delete();
      }
    });
    
  • 适配Discord.js版本
    若使用Discord.js v13及以上版本,message事件已被废弃,需替换为messageCreate事件:

    client.on('messageCreate', async msg => {
      // 后续逻辑同上
    });
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 10:01:16