Discord.js报CLIENT_MISSING_INTENTS错误 无法让Discord机器人上线怎么解决
错误原因
CLIENT_MISSING_INTENTS 是discord.js v13及更高版本的强制校验错误,Discord网关要求开发者必须显式声明机器人需要接收的事件类型(即Intents),你当前初始化Client实例时没有传入任何Intents配置,因此触发报错。
解决步骤
- 第一步:先确认你安装的discord.js版本,运行以下命令即可查看:
npm list discord.js - 第二步:根据你的版本补充Intents配置,以下是对应版本的修改后代码示例:
如果你用的是v14及以上版本:
如果你用的是v13版本:const { Client, GatewayIntentBits } = require('discord.js'); // 可根据你的机器人功能按需增减Intents,以下是基础上线必备的配置 const client = new Client({ intents: [ GatewayIntentBits.Guilds, // 服务器基础事件权限,必须开启 GatewayIntentBits.GuildMessages, // 接收服务器消息权限 GatewayIntentBits.MessageContent // 如需读取消息内容需要添加,同时要去开发者后台开启对应权限 ] }); client.once('ready' , () => { console.log('Bot is online'); }); client.login('你的机器人Token');const Discord = require('discord.js'); const client = new Discord.Client({ intents: [ Discord.Intents.FLAGS.GUILDS, Discord.Intents.FLAGS.GUILD_MESSAGES ] }); client.once('ready' , () => { console.log('Bot is online'); }); client.login('你的机器人Token'); - 第三步:如果你的机器人需要使用消息内容读取、成员事件监听这类敏感权限,需要额外进入Discord开发者后台的对应机器人管理页,找到「Privileged Gateway Intents」板块,打开对应的权限开关,否则即使代码中添加了对应Intents也无法正常接收事件。
注意事项
- 只添加机器人功能必须的Intents即可,不要开启多余的权限,既能减少不必要的事件接收,也能降低账号被限制的风险。
- 不要把机器人Token硬编码到代码中提交到公开仓库,建议使用环境变量存储敏感信息。
内容的提问来源于stack exchange,提问作者Sp33dDravving
相关产品推荐
相关产品推荐

