discord.js抛出CLIENT_MISSING_INTENTS错误 按教程修复仍失败求助
报错原因
这个报错是discord.js v13及以上版本的强制要求:Discord API要求所有机器人必须明确声明网关意图(Intents),用来指定机器人需要接收的事件数据类型,未声明合法Intents会直接启动失败。
修复步骤
1. 修改Client初始化代码
找到你代码里的const client = new Discord.Client();行,替换为对应版本的配置:
如果你用的是discord.js v14+(当前主流版本):
const client = new Discord.Client({ intents: [ Discord.GatewayIntentBits.Guilds, Discord.GatewayIntentBits.GuildMessages, Discord.GatewayIntentBits.MessageContent ] });
如果你用的是discord.js v13:
const client = new Discord.Client({ intents: [ Discord.Intents.FLAGS.GUILDS, Discord.Intents.FLAGS.GUILD_MESSAGES, Discord.Intents.FLAGS.MESSAGE_CONTENT ] });
可以在项目根目录执行npm list discord.js查看当前安装的discord.js版本。
2. 修复废弃事件监听
你代码中使用的client.on('message', message => { ... }在v13之后已经被废弃,需要替换为:
client.on('messageCreate', message => { // 保留你原来的事件处理逻辑不变 });
3. 开启开发者后台特权意图
MessageContent属于特权意图,需要手动在Discord开发者后台开启:
- 进入Discord开发者平台,打开你的机器人应用页
- 切换到「Bot」标签页
- 下拉找到「Privileged Gateway Intents」区域
- 开启
Message Content Intent选项后保存设置
验证
所有修改完成后重启机器人,即可正常启动,不会再抛出缺失Intents的报错,消息指令也能正常触发。
内容的提问来源于stack exchange,提问作者Rayden
相关产品推荐
相关产品推荐

