Discord Node.js机器人无响应,添加MESSAGE_CONTENT后崩溃
Discord机器人添加MESSAGE_CONTENT后崩溃:BITFIELD_INVALID错误解决办法
这个错误的核心原因是你使用的discord.js版本不支持MESSAGE_CONTENT这个intent字段——MESSAGE_CONTENT是discord.js v14才引入的新intent,如果你用的是v13或更早版本,框架会识别不了这个字段,直接触发崩溃。
下面给你两种可行的解决路径:
方案1:升级discord.js到v14及以上版本
- 执行命令升级依赖:
npm install discord.js@latest
- 保留你代码里的intent配置不变:
const client = new Discord.Client({intents: ["GUILDS", "GUILD_MESSAGES", "MESSAGE_CONTENT"]});
- 登录Discord开发者门户,找到你的机器人:
- 进入「Bot」页面
- 拉到「Privileged Gateway Intents」区域,开启「Message Content Intent」开关
- 重启机器人,就能正常响应消息了
方案2:不升级,适配当前discord.js版本(v13及以下)
- 修改机器人初始化代码,移除
MESSAGE_CONTENTintent:
const client = new Discord.Client({intents: ["GUILDS", "GUILD_MESSAGES"]});
- 同样需要去Discord开发者门户的「Bot」页面,开启「Privileged Gateway Intents」里的「Message Content Intent」
- 重启机器人,此时
messageCreate事件就能正常获取message.content并回复了
额外检查点
- 确保机器人在目标服务器里拥有「发送消息」的权限
- 确认
process.env.token能正确读取到你的机器人令牌 - 如果是在Replit等平台部署,记得重启项目时环境变量已加载
内容的提问来源于stack exchange,提问作者aouty22
相关产品推荐
相关产品推荐

