开发Discord音乐bot运行时出现Distube标识符已声明语法错误如何解决
报错原因
- 同一作用域内重复使用了
Distube作为标识符:你已经在先期通过const Distube = require('distube')或者ESM导入的方式,将Distube构造函数赋值给了Distube变量,后续实例化时又用const Distube = new Distube(...)重复声明同一个const变量,直接触发语法报错。 - 额外注意你当前代码里的配置项存在拼写错误:
enitNewSongsOnly为错误写法,正确配置名是emitNewSongsOnly,不修正会导致对应配置不生效。
解决方法
将实例化后的变量名改为和构造函数名不重复的名称即可,常规写法是将实例变量首字母小写,示例代码如下:
// 原有导入逻辑保持不变 const Distube = require('distube') // 实例化时更换变量名 const distube = new Distube(client, {searchSongs: false, emitNewSongsOnly: true});
修改完成后重新运行程序即可正常加载。
内容的提问来源于stack exchange,提问作者Nimród
相关产品推荐
相关产品推荐

