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

Discord.js报CLIENT_MISSING_INTENTS错误 无法让Discord机器人上线怎么解决

错误原因

CLIENT_MISSING_INTENTS 是discord.js v13及更高版本的强制校验错误,Discord网关要求开发者必须显式声明机器人需要接收的事件类型(即Intents),你当前初始化Client实例时没有传入任何Intents配置,因此触发报错。

解决步骤
  • 第一步:先确认你安装的discord.js版本,运行以下命令即可查看:
    npm list discord.js
  • 第二步:根据你的版本补充Intents配置,以下是对应版本的修改后代码示例:
    如果你用的是v14及以上版本:
    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');
    
    如果你用的是v13版本:
    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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 05:51:03