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

Node.js环境下Discord客户端抛出TypeError: [CLIENT_MISSING_INTENTS]错误的原因排查咨询

解决Discord.js的CLIENT_MISSING_INTENTS错误

这个错误是因为你使用的Discord.js v14及以上版本要求必须明确声明机器人需要的「意图(Intents)」——Discord的API现在需要你指定机器人要监听哪些类型的事件,以此来控制权限和资源使用。你的代码里创建Discord.Client时没有传入任何意图参数,所以触发了这个报错。

修复步骤:

  1. 修改bot.js代码,添加意图配置
    你需要从discord.js中导入IntentsBitField,然后在创建Client实例时传入需要的意图列表。比如如果你的机器人需要监听服务器事件和消息事件,代码应该改成这样:

    const { Client, IntentsBitField } = require("discord.js"); 
    const client = new Client({
      intents: [
        IntentsBitField.Flags.Guilds, // 服务器相关事件
        IntentsBitField.Flags.GuildMessages, // 服务器内消息事件
        IntentsBitField.Flags.MessageContent // 读取消息内容(需要额外开启特权)
      ]
    }); 
    
    client.on("ready", () => {
      console.log(`Logged in as ${client.user.tag}!`); // 可选:添加日志确认机器人启动
    }); 
    
    client.login(process.env.BOT_TOKEN);
    
  2. 在Discord开发者门户开启消息内容特权(如果需要)
    如果你用到了MessageContent意图(比如要读取用户发送的消息内容),需要登录Discord开发者门户,找到你的机器人应用:

    • 进入「Bot」页面
    • 拉到「Privileged Gateway Intents」部分,开启「Message Content Intent」
    • 保存设置

补充说明:

不同的功能需要不同的意图,比如如果你的机器人要处理成员加入事件,就需要加上IntentsBitField.Flags.GuildMembers(这也是特权意图,同样需要在开发者门户开启)。你可以根据自己的需求添加对应的意图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.30 03:48:12