Я делаю простой диск-бот с node.js. Я запустил и отвечаю, но не могу вызвать его на голосовой канал. Этот код я использую
switch (args[0]) {
case "play":
function play(connection, message) {
var server = servers[message.guild.id];
server.dispatcher = connection.playStream(
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.channel.send("Give me a link to play");
return;
}
if (!message.member.voiceChannel) {
message.channel.send("Join a voice channel to play 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.guild.voiceConnection)
message.member.voiceChannel.join().then(connection => {
message.reply("Here I am!");
});
break;
}
});
Он всегда идет к сообщению «Присоединиться к голосовому каналу», даже если я в голосовом канале.