You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord机器人启动报错BitFieldInvalid:GUILDS无效求助

解决Discord.js的BitFieldInvalid错误(GUILDS无效)

核心原因

这个错误是因为你使用的Discord.js版本(大概率是v14及以上)中,Intent常量的命名规则发生了变化:原来的全大写GUILDS改成了首字母大写的Guilds,同时Intent的导入方式也有调整,导致代码中的旧写法无法被当前版本识别。

修复步骤

1. 确认Discord.js版本

先查看当前安装的Discord.js版本:

npm list discord.js

如果版本显示为v14.x及以上,按以下步骤修改代码;如果是v13及以下,跳过步骤2,直接检查权限设置。

2. 修正代码中的Intent写法

找到main.js中创建Client实例的代码(对应报错信息里的第4行),将旧的Intent写法替换为v14兼容的格式:

错误示例:

const { Client, Intents } = require('discord.js');
const client = new Client({ intents: [Intents.FLAGS.GUILDS] });

修正后代码:

const { Client, GatewayIntentBits } = require('discord.js');
const client = new Client({ intents: [GatewayIntentBits.Guilds] });

注意:v14开始,Intent常量从Intents.FLAGS迁移到了GatewayIntentBits,同时常量名改为驼峰式(首字母大写)。

3. 开启机器人权限

登录Discord开发者平台,进入你的机器人应用页面:

  • 切换到「Bot」标签
  • 在「Privileged Gateway Intents」区域,确保你需要的Intent(比如Server Members Intent、Message Content Intent)已开启
  • 保存设置后重启机器人

4. 版本回退(可选)

如果不想修改代码,可以回退到Discord.js v13版本:

npm uninstall discord.js
npm install discord.js@13.16.0

回退后可继续使用Intents.FLAGS.GUILDS的旧写法。

内容的提问来源于stack exchange,提问作者Morgan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:35:22