制作Discord机器人遭遇Used disallowed intents错误求助
解决Discord机器人"Used disallowed intents"错误
这个错误的核心原因是你代码里使用了Discord特权网关意图,但没有在开发者后台开启对应的权限。
具体解决步骤:
- 登录Discord开发者门户,找到你的机器人应用
- 切换到「Bot」标签页
- 往下滚动找到「Privileged Gateway Intents」区域
- 开启「Server Members Intent」(对应代码里的
GuildMembers)和「Message Content Intent」(对应代码里的MessageContent) - 保存设置
优化建议:
看你的代码功能只是监听消息回复,其实不需要GuildMembers意图,完全可以从代码里删掉它,减少不必要的权限请求,修改后的代码如下:
const { Client, IntentsBitField } = require('discord.js'); const client = new Client({ intents: [ IntentsBitField.Flags.Guilds, IntentsBitField.Flags.GuildMessages, IntentsBitField.Flags.MessageContent, ], }); client.on('ready', (c) => { console.log(`✅ ${c.user.tag} is online.`); }); client.on('messageCreate', (message) => { if (message.content === 'hello') { message.reply('Hey!'); } }) client.login("my_token")
额外注意:
如果你的机器人加入的服务器少于100个,确保「Verification Required」选项是关闭状态——如果开启了这个选项,特权意图需要提交审核才能使用,测试阶段关闭即可。
内容的提问来源于stack exchange,提问作者BikeThe2000
相关产品推荐
相关产品推荐

