Discord.js报错TypeError: 无法读取undefined的FLAGS属性求助
解决discord.js中
TypeError: 无法读取undefined的属性'FLAGS'报错 这个报错的核心原因是你使用的discord.js版本(v14及以上)已经移除了Intents.FLAGS结构,v14开始直接通过GatewayIntentBits对象调用意图常量,且命名规则改为驼峰式。
修复步骤:
- 先确认你的discord.js版本,在项目根目录运行命令:
npm list discord.js - 如果版本是v14+,修改代码如下:
注意:v14里原const { Client, GatewayIntentBits } = require('discord.js'); const client = new Client({ intents: [ GatewayIntentBits.Guilds, GatewayIntentBits.GuildMessages, GatewayIntentBits.GuildVoiceStates ] });Intents被重命名为GatewayIntentBits,同时意图常量的命名从全大写蛇形改为驼峰式(比如GUILD→Guilds,GUILD_MESSAGES→GuildMessages)。 - 如果你的版本是v13,检查导入与意图常量的正确性,v13仍使用
Intents.FLAGS,但要注意服务器意图的正确写法是GUILDS而非原代码里的GUILD,修改后代码:const { Client, Intents } = require('discord.js'); const client = new Client({ intents: [ Intents.FLAGS.GUILDS, Intents.FLAGS.GUILD_MESSAGES, Intents.FLAGS.GUILD_VOICE_STATES ] });
额外提醒:
若机器人需要读取消息内容、获取成员列表,需在Discord开发者平台的机器人设置中开启MESSAGE CONTENT INTENT和SERVER MEMBERS INTENT这两个特权网关意图,否则机器人可能无法正常执行对应功能。
内容的提问来源于stack exchange,提问作者Pulok Gamer
相关产品推荐
相关产品推荐

