我正在用 node.js 制作一个不和谐的音乐机器人,它有点工作,但没有加入 vc 或播放歌曲
I am making a discord music bot with node.js it is kinda working but not joining the vc or playing the song
所以机器人给出了语音通道,并给出了link警告。但是,它不播放歌曲,也不加入语音频道。
这是代码:
client.on('message', message => {
let args = message.content.substring(prefix.length).split(" ");
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("You need to provide a link!");
return;
}
if(!message.member.voiceChannel){
message.channel.send("You must be in a voice channel to play the song!")
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(function(connection){
play(connection, message);
})
break;
}
});
我不确定出了什么问题;任何帮助,将不胜感激。谢谢!
我发现我必须安装 ffmpeg 然后它起作用了
所以机器人给出了语音通道,并给出了link警告。但是,它不播放歌曲,也不加入语音频道。
这是代码:
client.on('message', message => {
let args = message.content.substring(prefix.length).split(" ");
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("You need to provide a link!");
return;
}
if(!message.member.voiceChannel){
message.channel.send("You must be in a voice channel to play the song!")
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(function(connection){
play(connection, message);
})
break;
}
});
我不确定出了什么问题;任何帮助,将不胜感激。谢谢!
我发现我必须安装 ffmpeg 然后它起作用了