我目前正在使用一些音乐命令在不和谐的机器人上工作。它通过使用“播放”命令来工作。如果您运行它,它将在youtube上搜索给定的参数(使用ytdl-core和simple-youtube-api)。它给您5个视频结果,您必须选择一个数字(从1-5个中选择)
但是,当它加入语音通道播放音乐时,它会随机离开并在聊天中发送“未定义”,而没有任何更多信息或错误。我目前正在使用VPS来托管该机器人,如果我在计算机上托管了“一些”音乐播放器,但仍然无法正常工作,但在VPS上却无法正常运行。除了未定义外,我没有收到任何错误”,但我不知道它来自哪里,因为没有给定的行。我尝试重新安装using软件包,但没有一个起作用。
这是我的代码:
function play(guild, song) {
const serverQueue = queue.get(guild.id);
if (!song) {
serverQueue.voiceChannel.leave();
queue.delete(guild.id);
return;
}
const dispatcher = serverQueue.connection.playStream(ytdl(song.url))
.on('end', reason => {
if (reason === 'Stream is not generating quickly enough.') console.log('Song ended.');
serverQueue.songs.shift();
play(guild, serverQueue.songs[0]);
})
.on('error', error => console.log(error));
dispatcher.setVolumeLogarithmic(serverQueue.volume / 5);
serverQueue.textChannel.send(`**${song.title}**, is now playing!`);
}
我认为问题出在这里。
答案 0 :(得分:1)
很可能,您缺少ytdl-core依赖的FFMPEG。