【问题标题】:Bot does not finish playing audio before leavingBot 在离开前未完成播放音频
【发布时间】:2018-11-19 03:12:05
【问题描述】:

因此,这个不和谐机器人旨在简单地加入输入命令的人的语音通道,播放音频文件,完成后离开。
机器人成功加入语音频道,开始播放音频,在完成之前,它离开了。在音频文件完成之前并不是机器人离开,因为在移除机器人离开的能力后它仍然在同一点切断。这是我的代码:

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));
  }
});

我已经为这个问题猛烈抨击了好几个小时,但我似乎无法确定它发生的原因。任何帮助表示赞赏!

【问题讨论】:

标签: audio bots discord.js


【解决方案1】:

问题可能只是连接。尝试将voiceChannel.leave() 放入setTimeout 函数中。

例子:

setTimeout(function(){
    voiceChannel.leave()
}, 2000)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 2011-07-07
    • 1970-01-01
    相关资源
    最近更新 更多