Discord机器人无法触发消息回复问题排查求助
问题解决方案
核心原因
你的代码使用了discord.js v14及以上版本已废弃的message事件,该版本中消息触发事件已更名为messageCreate,这是功能失效的主要原因。
修改后的代码
const Discord = require('discord.js'); const { Client, GatewayIntentBits } = Discord; const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.MessageContent, GatewayIntentBits.GuildMembers, ] }); client.on('ready', () => { console.log(`Logged in as ${client.user.tag}!`); }); // 替换为当前版本有效的messageCreate事件 client.on('messageCreate', message => { // 忽略机器人自身消息,避免循环触发 if (message.author.bot) return; if (message.content === 'ping') { message.reply('Pong!'); } }); client.login('你的机器人令牌');
额外检查项
- 确认机器人在服务器中拥有发送消息权限(从你提供的权限截图来看,已具备该权限)
- 确保
MessageContent意图已在Discord开发者门户中启用(代码中已声明该意图,但需确认门户内是否开启)
内容的提问来源于stack exchange,提问作者Josh Haywood
相关产品推荐
相关产品推荐

