因此,这个不和谐的机器人意在简单地加入输入命令,播放音频文件并离开者的语音通道。
该漫游器成功加入了语音通道,开始播放音频,并且在结束之前就离开了。在完成音频文件之前,机器人并不是要离开,因为在删除机器人的离开能力之后,机器人仍然会在同一时间切断。这是我的代码:

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)

10-04 10:11