我目前正在制作一个音乐机器人,可以播放youtube链接中的音乐。
现在我知道执行此操作的代码很简单
msg.member.voice.channel.join().then(connection => {
const dispatcher = connection.play(ytdl(song.url));
dispatcher.on('start', () => console.log('startin'));
dispatcher.on("finish", () => console.log("finished"));
dispatcher.on('error', err => console.log(err));
msg.channel.send(`Start playing: **${song.title}**`);
})
现在我的问题是完成事件会立即触发(没有播放音乐),这根本不应该发生。我已经用本地mp3文件尝试过此方法,并且结果相同,因此我们可以排除ytdl-core异常。我安装了discordjs / opus,discord.jsv12和ytdl-core,并且bot文件夹中包含ffmpeg。
还要注意的一件有趣的事是,启动事件永远不会触发
有什么解决方法吗?