Discord.js V13运行报错Invalid bitfield flag or number如何解决
Discord.js v13 BITFIELD_INVALID错误修复方案
错误原因
你在声明客户端Intents时使用了不存在的枚举值:discord.Intents.FLAGS.DIRECT_MESSAGE_REACTION,Discord.js v13中对应的私信消息反应枚举值为*DIRECT_MESSAGE_REACTIONS*(末尾多了字母s),错误的枚举名会被解析为undefined,触发bitfield字段校验失败的报错。
修复代码
将index.js中Client初始化的intents配置替换为以下内容即可:
const discord = require('discord.js') const { token } = require('./config.json') const Client = new discord.Client({ intents: [ discord.Intents.FLAGS.GUILDS, discord.Intents.FLAGS.GUILD_MEMBERS, discord.Intents.FLAGS.GUILD_BANS, discord.Intents.FLAGS.GUILD_EMOJIS_AND_STICKERS, discord.Intents.FLAGS.GUILD_INTEGRATIONS, discord.Intents.FLAGS.GUILD_WEBHOOKS, discord.Intents.FLAGS.GUILD_INVITES, discord.Intents.FLAGS.GUILD_VOICE_STATES, discord.Intents.FLAGS.GUILD_PRESENCES, discord.Intents.FLAGS.GUILD_MESSAGES, discord.Intents.FLAGS.GUILD_MESSAGE_REACTIONS, discord.Intents.FLAGS.GUILD_MESSAGE_TYPING, discord.Intents.FLAGS.DIRECT_MESSAGES, discord.Intents.FLAGS.DIRECT_MESSAGE_REACTIONS, // 修复后的正确枚举值 discord.Intents.FLAGS.DIRECT_MESSAGE_TYPING ] }) Client.on('ready', () => { console.log(`${Client.user.tag} is online!`) }) Client.login(token)
额外优化建议
如果你不需要用到全部监听事件,可以只保留实际需要用到的Intents,减少机器人的权限申请范围,降低风险。
内容的提问来源于stack exchange,提问作者Kris_Zhang
相关产品推荐
相关产品推荐

