因此,这个不和谐机器人只需加入输入命令的人的语音通道,播放音频文件,并在完成后离开。
机器人成功加入语音通道,开始播放音频,就在它完成之前,它就会离开。在音频文件完成之前,机器人不会离开,因为它在移除机器人离开的能力后仍然在同一点上切断。这是我的代码:
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));
}
});
我已经在这个问题上猛烈抨击了好几个小时了,我似乎无法确定为什么会发生这种情况。任何帮助表示赞赏!
答案 0 :(得分:1)
问题可能只是连接。尝试将voiceChannel.leave()
放在setTimeout
函数中。
示例:
setTimeout(function(){
voiceChannel.leave()
}, 2000)