开发Discord音乐机器人启动报CLIENT_MISSING_INTENTS错误,已配置Intents仍报错
报错原因及解决方法
常见触发原因
- discord.js版本不兼容,意图写法错误:你当前使用的
Intents.FLAGS.xxx是discord.js v13版本的专属写法,若本地安装的是v14及以上版本,该写法已被官方废弃,系统会识别为无效的intent配置,直接抛出对应报错。 - 依赖包损坏:本地node_modules中的discord.js包安装不全、多版本混合,导致配置的参数无法被正常识别。
- 参数传递错误:
Client配置项的intents字段拼写错误,或者参数层级传递错误。
对应解决方法
1. 适配对应版本的Intent写法
如果确认使用discord.js v14及以上版本,将代码替换为v14标准写法:
const { Client, GatewayIntentBits } = require('discord.js'); const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildVoiceStates, GatewayIntentBits.MessageContent // 需要读取消息内容时添加,同时要在Discord开发者面板开启对应权限 ] });
如果需要继续使用v13版本的写法,在项目目录执行命令固定安装v13版本即可:
npm install discord.js@13
2. 修复依赖包
删除本地node_modules文件夹和package-lock.json文件,重新执行npm install安装依赖,确保版本统一。
3. 检查参数拼写
确认Client配置项的键名为intents,无拼写错误,参数以数组格式传递。
内容的提问来源于stack exchange,提问作者khufu
相关产品推荐
相关产品推荐

