启动discord.js机器人报错BITFIELD_INVALID: undefined如何解决?
错误原因
这个BITFIELD_INVALID报错是discord.js v13及更高版本的常见配置错误,触发原因是你初始化Client实例时传入的intents配置存在异常:
- 拼写了不存在的intent枚举值
- 传入的intents数组中包含undefined值
- 使用了旧版本discord.js的intent写法,未适配新版本规范
修复步骤
- 打开项目根目录下的
index.js文件,定位到第4行的Client初始化代码,参考以下正确格式调整配置:
const { Client, IntentsBitField } = require('discord.js'); const client = new Client({ intents: [ IntentsBitField.Flags.Guilds, IntentsBitField.Flags.GuildMessages, IntentsBitField.Flags.MessageContent, // 按需补充其他需要的intent,注意枚举值拼写必须完全匹配官方定义 ] });
- 如果你是从v12及更低版本升级的项目,注意旧版本的
Intents命名已经废弃,v14及以上版本统一使用IntentsBitField声明intent,不要混用新旧写法。 - 如果你将intents配置单独存到了其他变量再传入Client,确认该变量在传入时已完成正确赋值,不存在undefined的情况。
内容的提问来源于stack exchange,提问作者George Aston
相关产品推荐
相关产品推荐

