0

所以,我尝试为音乐事件(如下)和事件加载创建一个事件处理程序。但是一旦我开始一首歌曲,事件就会加载,即使消息可能已定义,但它表示发送未定义。

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)

任何帮助,将不胜感激

4

0 回答 0