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

JS开发Discord bot报CLIENT_MISSING_INTENTS错误如何解决?

错误原因

你遇到的CLIENT_MISSING_INTENTS报错是discord.js v13及以上版本的强制规则:Discord网关要求开发者明确声明机器人需要使用的权限类别(即Intents),才能正常接收对应事件、调用对应功能。

修复步骤
  1. 先明确你当前功能需要的Intents:
  • Guilds:服务器基础权限,所有机器人必开
  • GuildMembers:服务器成员变动权限,对应你用到的guildMemberAdd新成员加入事件
  1. 修正代码(同时修复你原代码变量名混乱、重复登录的问题),修改后完整代码如下:
// 引入需要的模块,v14版本用GatewayIntentBits,v13版本替换为Intents.FLAGS
const { Client, GatewayIntentBits } = require('discord.js');
const config = require("./config.json")

// 初始化客户端时传入intents配置
const bot = new Client({
  intents: [
    GatewayIntentBits.Guilds,
    GatewayIntentBits.GuildMembers,
  ]
});

// 就绪事件
bot.once('ready', () => { 
  console.log(`Bot online: ${bot.user.tag}!`); 
}); 

// 新成员加入事件
bot.on("guildMemberAdd", member => { 
  member.send(`Seja bem vindo! Siga as regras do servidor e divirta-se 😀`) 
});

// 用配置文件里的token登录
bot.login(config.token);
  1. 开启Discord后台特权权限
    GuildMembers属于特权Intent,需要手动在开发者后台开启:登录Discord开发者平台,进入你的机器人应用的「Bot」设置页,下拉到「Privileged Gateway Intents」区域,打开Server Members Intent的开关即可。
注意事项

如果后续你新增了其他功能,需要对应补充Intents:比如需要接收用户发的消息,就要额外添加GatewayIntentBits.GuildMessages和GatewayIntentBits.MessageContent,同时也要在开发者后台打开对应特权开关。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 17:48:03