所以,我尝试为音乐事件(如下)和事件加载创建一个事件处理程序。但是一旦我开始一首歌曲,事件就会加载,即使消息可能已定义,但它表示发送未定义。
Distube 事件处理程序如下:
const Distube = require(`distube`)
client.distube = new Distube(client, { searchSongs: false, emitNewSongOnly: true});
const music = fs.readdirSync(`./music`).filter(file => file.endsWith(`.js`));
for (const file of music){
console.log(`Loading Music Event: ${file}`);
const event = require(`./music/${file}`);
client.distube.on(file.split(".")[0], event.bind(null, client));
}
下面是 ./music/playSong 下的事件文件(我将 playSong 作为测试事件,看看它是否有效)
const Discord = require(`discord.js`)
module.exports = (message, queue, song) => {
message.channel.send(`Playing \`${song.name}\` - \`${song.formattedDuration}\`\nRequested by: ${song.user}}`)
}
下面的完整错误:
(node:9000) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'send' of undefined
at module.exports (E:\SoftwareGithubRep\MoosacBot\music\playSong.js:3:17)
任何帮助,将不胜感激