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

运行Node.js启动Discord机器人报错ClientMissingIntents,求助

问题原因与解决方案

错误ClientMissingIntents是因为你使用的是discord.js v13或更高版本,这类版本要求创建机器人客户端时必须明确声明需要的「网关意图」(Intents),而你参考的教程代码大概率基于旧版本(v12及以下),当时不需要指定意图,所以能正常运行。

修复步骤:

  1. 修改代码,添加网关意图配置
    你需要在创建Discord.Client实例时,传入包含所需意图的配置对象。至少需要基础的Guilds意图让机器人正常上线,若要处理服务器消息还需GuildMessages。修改后的代码如下:

    const Discord = require('discord.js');
    // 导入Intents枚举类
    const { IntentsBitField } = require('discord.js');
    
    const bot = new Discord.Client({
        intents: [
            IntentsBitField.Flags.Guilds, // 允许机器人访问服务器列表
            IntentsBitField.Flags.GuildMessages, // 允许机器人读取服务器内的消息
            // 如果需要处理私信消息,可添加此行:
            // IntentsBitField.Flags.DirectMessages
        ]
    });
    
    const token = '你的有效token';
    const prefix = '你的前缀';
    
    bot.on('ready', () => {
        console.log('I Am Online')
    })
    
    bot.login(token)
    
  2. 开启Discord开发者平台的特权网关意图(若需处理消息内容)
    如果你后续需要让机器人读取和处理消息内容,还需在Discord开发者后台开启对应权限:

    • 登录Discord开发者门户,进入你的机器人应用
    • 切换到「Bot」标签页
    • 找到「Privileged Gateway Intents」区域,开启「Message Content Intent」

补充说明

网关意图是discord.js新版本引入的机制,用于让机器人只订阅它实际需要的事件,优化网关通信效率。旧版本没有强制要求,这就是教程代码能运行而你的代码报错的核心原因。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 23:42:27