Бот не заканчивает проигрывать аудио перед уходом - PullRequest
0 голосов
/ 09 июня 2018

Таким образом, этот диск-бот предназначен для того, чтобы просто присоединиться к голосовому каналу любого, кто вводит команду, воспроизвести аудиофайл и завершить его после завершения.
Бот успешно присоединяется к голосовому каналу, начинает воспроизводить аудио и простопрежде чем он заканчивается, он уходит.Это не бот, покидающий до создания аудио файла, так как он по-прежнему отключен в той же точке после удаления способности бота уйти.Вот мой код:

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

Я уже много часов бьюсь над этой проблемой, и я просто не могу понять, почему это происходит.Любая помощь приветствуется!

1 Ответ

0 голосов
/ 05 ноября 2018

Возможно, проблема только в соединении.Попробуйте поместить voiceChannel.leave() в функцию setTimeout.

Пример:

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