开发Discord机器人报BITFIELD_INVALID错误,附代码求助
错误原因
BITFIELD_INVALID报错是因为你初始化Discord客户端时传入了无效的网关意图参数,问题出在intents数组中的VOICE_STATE_UPDATE项:
VOICE_STATE_UPDATE是网关推送的事件名称,不属于合法的意图枚举值。语音状态相关的唯一合法意图是GUILD_VOICE_STATES,开启该意图后即可自动接收VOICE_STATE_UPDATE事件,无需额外将事件名作为意图传入。- 为避免手写意图字符串出现拼写、枚举值匹配错误,推荐使用discord.js内置的枚举值声明意图。
修复后代码
const Discord = require("discord.js"); const client = new Discord.Client({ intents: [Discord.IntentsBitField.Flags.GuildVoiceStates] }); const config = require("./config.json"); client.login(config.token);
如果你使用的是discord.js v13版本,将上述代码中的IntentsBitField替换为Intents即可正常运行。
内容的提问来源于stack exchange,提问作者Kami-Man120
相关产品推荐
相关产品推荐

