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

Discord.js v14机器人无法接收私信问题求助

Discord机器人无法接收私信的问题排查与解决

私信依然通过messageCreate事件处理,不存在单独的新事件,你的问题大概率是权限或配置遗漏导致的,以下是具体排查修复步骤:

  • 必须开启开发者平台的Message Content权限开关
    代码里添加了MessageContent意图还不够,需要到Discord开发者后台的「Bot」页面,找到「Privileged Gateway Intents」板块,勾选「Message Content Intent」并保存。没有开启这个开关的话,机器人无法获取DM的消息内容,甚至messageCreate事件都不会触发。

  • 确认私信交互权限
    若用户曾屏蔽过机器人,或机器人从未主动给该用户发过消息,可能会导致DM事件被拦截。可以先让机器人主动给目标用户发送一条测试私信,再尝试发送回复。

  • 添加DM消息区分排查
    可以修改代码,明确区分DM和服务器消息,方便确认事件是否触发:

    client.on('messageCreate', (message) => {
      if (message.channel.type === 'DM') {
        console.log('收到私信:', message.content);
      } else {
        console.log('收到服务器消息:', message.content);
      }
    });
    
  • 验证意图配置版本兼容性
    你使用的GatewayIntentBits是Discord.js v14+的正确写法,DirectMessages意图也已包含,这部分配置没问题,无需调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 04:16:04