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
相关产品推荐
相关产品推荐

