discord.js v13中Intents不是构造函数的报错求助
解决Discord.js中「Intents is not a constructor」报错
问题根源
- 你当前使用的Discord.js版本应为v14+,该版本中**
Intents不再是构造函数**,需改用IntentsBitField定义意图,或直接传入字符串数组。 - 初始化Client实例时,配置项的键是小写的
intents,而非大写的Intents,这也是触发报错的关键细节。
修复后的代码
const { Client, IntentsBitField } = require('discord.js') const noblox = require('noblox.js') const { Token } = require('./config.json') // 方式1:使用IntentsBitField(类型更安全) const intents = new IntentsBitField([ IntentsBitField.Flags.Guilds, IntentsBitField.Flags.GuildMembers, IntentsBitField.Flags.GuildMessages ]) // 方式2:直接传字符串数组(写法更简洁) // const intents = [ // 'Guilds', // 'GuildMembers', // 'GuildMessages' // ] const bot = new Client({ intents: intents }) bot.login(Token) bot.on('ready', () => { console.log(`${bot.user.tag} 已启动。`) })
额外注意
- 若使用Discord.js v13版本,
Intents构造函数仍可用,但初始化Client时同样需用小写的intents键。建议优先升级到v14并采用上述新写法。 - 务必在Discord开发者后台开启对应权限(服务器成员意图、消息内容意图),否则机器人无法正常获取相关数据。
内容的提问来源于stack exchange,提问作者script
相关产品推荐
相关产品推荐

