discord.js报错TypeError: Discord.client is not a constructor问题咨询
错误产生原因
该报错由类名拼写的大小写错误导致:discord.js 库对外暴露的客户端构造函数为大写开头的Client,你代码中使用的小写开头Discord.client不属于库导出的合法构造函数,使用new调用时就会触发该类型错误。
修复方法
- 核心修复仅需将代码中
const client = new Discord.client();的小写client首字母改为大写即可,修改后对应行代码为:const client = new Discord.Client(); - 若你使用的是 discord.js v14 及以上版本,还需要额外配置客户端的网关权限意图,否则启动后仍会抛出缺少意图的报错,完整的可运行代码参考如下:
// 引入discord.js依赖 const Discord = require('discord.js'); // 修正构造函数大小写,补充v14+ required的意图配置 const client = new Discord.Client({ intents: [ Discord.GatewayIntentBits.Guilds, // 可根据bot实际功能追加其他意图,例如需要读取消息可加 GuildMessages、MessageContent ] }); const config = require('./config.json'); client.on('ready', () => { console.log('the client is ready!') }) // 使用配置中的token登录discord client.login(config.token)
如果使用的是discord.js v13及更早版本,无需添加意图配置,仅修改构造函数大小写即可正常运行。
内容的提问来源于stack exchange,提问作者coco bar
相关产品推荐
相关产品推荐

