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

Discord机器人开发遇CLIENT_MISSING_INTENTS错误求助

解决Discord.js的CLIENT_MISSING_INTENTS错误

这个错误是因为Discord.js v13及以上版本要求显式声明机器人需要的Intents(意图),这是Discord API的强制要求——用来限制机器人接收的事件数据,既提升运行效率也符合平台安全规范。你的代码里只配置了partials,但缺少必要的intents声明,所以才会抛出这个错误。

修复步骤:

  1. 修改Client初始化代码
    在创建Discord.Client时添加intents选项,根据你的机器人功能选择对应的意图。你的代码用到了消息事件和反应角色功能,至少需要以下几个核心意图:

    • GUILDS:支撑服务器相关事件(比如机器人上线的ready事件就依赖它)
    • GUILD_MESSAGES:允许接收服务器内的消息内容
    • GUILD_MESSAGE_REACTIONS:支持接收消息的反应事件(对应你的reactionrole功能)

    修改后的client初始化代码如下:

    const client = new Discord.Client({ 
      partials: ["MESSAGE", "CHANNEL", "REACTION"],
      intents: [
        Discord.Intents.FLAGS.GUILDS,
        Discord.Intents.FLAGS.GUILD_MESSAGES,
        Discord.Intents.FLAGS.GUILD_MESSAGE_REACTIONS
      ]
    });
    
  2. 开启Privileged Gateway Intents(必要时)
    如果你的机器人需要读取消息内容(比如代码里用到了message.content),还需要手动在Discord开发者后台开启权限:

    • 打开Discord开发者门户,找到你的机器人应用
    • 进入Bot页面,下拉到Privileged Gateway Intents区域
    • 开启Message Content Intent开关并保存更改

完整修改后的main.js开头片段:

const Discord = require('discord.js');
const client = new Discord.Client({ 
  partials: ["MESSAGE", "CHANNEL", "REACTION"],
  intents: [
    Discord.Intents.FLAGS.GUILDS,
    Discord.Intents.FLAGS.GUILD_MESSAGES,
    Discord.Intents.FLAGS.GUILD_MESSAGE_REACTIONS
  ]
});
const prefix = '-';
const fs = require('fs');

完成以上修改后重新启动机器人,这个错误应该就能解决了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 06:47:53