我试图制作一个简单的音乐机器人。当我尝试“!播放 {youtube url}”时,机器人加入了 VC,但没有声音。代码如下:
case 'play':
function play(connection, message) {
var servers = servers[message.guild.id];
server.dispatcher = connection.play(ytdl(server.queue[0], {filter: "audioonly"}));
server.queue.shift();
server.dispatcher.on("end", function(){
if (server.queue[0]){
play(connection, message);
} else{
connection.disconnect();
}
});
}
if(!args[1]){
message.reply("provide a link!");
return;
}
if (!message.member.voice.channel.join()){
message.reply("you must be in a voice channel to play the music!");
return;
}
if(!servers[message.guild.id]) servers[message.guild.id] = {
queue: []
}
var server = servers[message.guild.id];
server.queue.push(args[1]);
if (!message.member.voiceConnection) message.member.voice.channel.join().then(function(connection){
play(connection, message);
message.reply("your song is playing!");
})
break;
当我输入一个 youtube 网址时,在 VS 中它说:
(node:8092) UnhandledPromiseRejectionWarning: TypeError: Cannot read property '858216105305964566' of undefined