因此,这个不和谐的机器人意在简单地加入输入命令,播放音频文件并离开者的语音通道。
该漫游器成功加入了语音通道,开始播放音频,并且在结束之前就离开了。在完成音频文件之前,机器人并不是要离开,因为在删除机器人的离开能力之后,机器人仍然会在同一时间切断。这是我的代码:
const Discord = require("discord.js");
const client = new Discord.Client();
var isReady = true;
client.on("ready", () => {
console.log("I am ready!");
});
client.on("message", (message) => {
if (isReady && message.content.startsWith("!gtab")) {
isReady = false;
var voiceChannel = message.member.voiceChannel;
voiceChannel.join().then(connection => {
const dispatcher = connection.playFile('./getthatassbanned.mp3', {});
dispatcher.on("end", end => {
message.channel.send("Get that ass banned.");
voiceChannel.leave();
isReady = true;
});
}).catch(err => console.log(err));
}
});
我已经对这个问题猛烈抨击了好几个小时,而我似乎无法确定其原因。任何帮助表示赞赏!
最佳答案
问题可能只是连接。尝试将voiceChannel.leave()
放入setTimeout
函数中。
例:
setTimeout(function(){
voiceChannel.leave()
}, 2000)