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

Discord机器人启动报CLIENT_MISSING_INTENTS错误无法上线如何解决

错误原因

你遇到的CLIENT_MISSING_INTENTS报错是因为discord.js v13及以上版本强制要求在初始化Client实例时声明网关意图(Intents),意图用于指定机器人需要接收哪些类别的事件数据,未配置会直接阻止客户端启动。

解决步骤

1. 修改index.js代码,补充Intents配置

根据你安装的discord.js版本选择对应写法:

如果你用的是discord.js v14(当前主流版本)

完整修改后的代码如下:

const { Client, GatewayIntentBits } = require('discord.js');
const bot = new Client({
  intents: [
    GatewayIntentBits.Guilds, // 基础必备权限,用于获取服务器相关信息
    GatewayIntentBits.GuildMessages, // 允许接收服务器内的消息事件
    GatewayIntentBits.MessageContent, // 允许读取消息内容,做消息响应类功能必须
    // 后续需要其他功能可以按需补充对应的Intent
  ]
});
const token = '你的机器人token';
const PREFIX = '';

bot.on('ready', () => {
    console.log('Online!');
});

bot.login(token);

如果你用的是discord.js v13

只需要调整引入和Intent的写法即可:

const { Client, Intents } = require('discord.js');
const bot = new Client({
  intents: [
    Intents.FLAGS.GUILDS,
    Intents.FLAGS.GUILD_MESSAGES,
    Intents.FLAGS.MESSAGE_CONTENT,
  ]
});
// 其余代码保持不变

2. 开启开发者后台特权意图权限

Message Content Intent属于特权意图,需要手动在Discord开发者后台开启:

  • 打开Discord Developer Portal,进入你的机器人应用页面
  • 切换到左侧「Bot」标签,下拉找到Privileged Gateway Intents区域
  • 开启Message Content Intent的开关,如有成员管理相关需求可以同步开启Server Members Intent

3. 重新启动机器人

保存代码后在终端重新运行node index.js即可正常启动,终端会打印Online!提示,机器人状态变为在线。


内容的提问来源于stack exchange,提问作者Angel R.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 12:36:01