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

discord.js启动报CLIENT_MISSING_INTENTS错误 机器人无法上线如何解决?

报错原因

你使用的discord.js为v13及以上版本,该版本起Discord API强制要求开发者显式为客户端配置网关意图,用于声明机器人需要接收处理的事件数据类型,你当前代码初始化Client实例时没有传入对应的意图配置,所以触发了CLIENT_MISSING_INTENTS报错。另外该版本已将原有message事件重命名为messageCreate,原事件名已失效。
同时discord.js v13要求Node.js最低版本为16.6.0,你当前使用的14.17.6版本也不符合运行要求。

调整方案

1. 代码修改

修改后的代码如下:

const Discord = require('discord.js');
// 配置所需的网关意图
const bot = new Discord.Client({
  intents: [
    Discord.Intents.FLAGS.Guilds, // 基础服务器相关事件意图
    Discord.Intents.FLAGS.GuildMessages, // 接收服务器消息事件意图
    Discord.Intents.FLAGS.MessageContent // 读取消息内容的特权意图
  ]
});

const token ='MY TOKEN'; // 替换为你自己的机器人token

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

// 使用更名后的消息监听事件
bot.on("messageCreate", msg=>{
    if (msg.content === "HELLO"){
        msg.reply('HELLO FRIEND!');
    }
})   
    
bot.login(token);

2. 额外配置

你需要先进入Discord开发者平台的机器人管理页面,在Bot设置分类下找到Privileged Gateway Intents分区,开启Message Content Intent开关,否则机器人无法正常读取消息内容。

3. 环境升级

将你的Node.js版本升级到16.6.0及以上,即可正常运行修改后的代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 10:18:03