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

如何让Discord Bot响应私信?现有代码仅支持服务器消息

解决Discord Bot无法响应私信消息的问题

你的Bot无法响应私信的核心原因是缺少读取消息内容的必要意图权限。虽然你在开发者后台开启了MESSAGE CONTENT INTENT,但代码里并没有配置对应的意图参数。

当前你的intents数组仅包含Guilds、GuildMessages和DirectMessages,其中DirectMessages只是让Bot能检测到私信频道的存在,要读取并响应私信内容,必须添加MessageContent意图。

修改后的代码如下:

const Discord = require('discord.js');
const client = new Discord.Client({
  intents: [
    Discord.GatewayIntentBits.Guilds,
    Discord.GatewayIntentBits.GuildMessages,
    Discord.GatewayIntentBits.DirectMessages,
    Discord.GatewayIntentBits.MessageContent, // 新增这个意图
  ],
});
client.on('ready', () => {
  console.log(`Logged in as ${client.user.tag}!`);
});

client.on('messageCreate', (message) => {
  if (message.author.bot) return; // 忽略机器人消息
  message.channel.send('Hello');
});

// 填入你的Bot Token完成登录
client.login('你的Bot Token');

最后再做两项确认:

  • 确保Discord开发者平台的Bot页面中,MESSAGE CONTENT INTENT确实处于开启状态
  • 检查Bot的隐私设置,确认没有禁止接收私信(默认是允许的,若手动修改过需调整)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 12:42:01