Бот Discord musi c не покидает сервер по окончании песни - PullRequest
1 голос
/ 01 августа 2020

Я работаю над ботом Discord, который сейчас называется Amadeus. Амадей играет musi c, когда получает заданную команду ... ну ... он будет. Сейчас, пока я работаю над ним, он играет только одну песню. Хотя он подключается к голосовому каналу и отлично воспроизводит свою песню - он не покидает голосовой канал после завершения своей песни. По какой-то причине, я думаю, он никогда не определяет, что песня заканчивается? Любая помощь приветствуется

const connection = message.member.voice.channel.name;
const channel = message.member.voice.channel;
message.channel.send("Now playing Scythe OST in the " + connection + " channel.");
channel.join().then(connection => {
    const dispatcher = connection.play('./Scythe Digital Edition - Soundtrack/01 Europa 1920.mp3');
    dispatcher.on("end", end => {
      channel.leave()
    });
  })
  .catch(console.error);

1 Ответ

0 голосов
/ 01 августа 2020

Как предложил @Tenclea, если вы посмотрите на Discord. js Документация> Темы , вы увидите, что используется dispatcher.on("finish", () => {}).

const channel = message.member.voice.channel;
message.channel.send(`Now playing Scythe OST in the ${channel.name} channel.`);
channel.join().then(connection => {
    const dispatcher = connection.play("./Scythe Digital Edition - Soundtrack/01 Europa 1920.mp3");
    dispatcher.on("finish", () => channel.leave());
}).catch(e => console.log(e))

dispatcher.on("end", () => {}) будет работать на Discord JS версии 11.

...