1. ホーム
  2. node.js

[解決済み] ループ再生ファイル discord.js

2022-02-08 06:28:09

質問

Typescript/JS/D.JSの初心者で、DiscordのボットにplayFileメソッドを無限にループさせたいと考えています。今のところ、こんな感じですが、問題は、一度に複数回再生しようとしていることだと思います。

msgObject.member.voiceChannel.join()
    .then(connection => {
        function play(){
            const dispatcher = connection.playFile('./audio.wav');
        }
        while(msgObject.guild.me.speaking === false) {
            play();
        }
    })
    .catch(console.error);

これを止めるまで何度も再生させたい。

解決方法は?

その dispatcher のインスタンスです。 StreamDispatcher . によると doc というイベントが発生します。 そこで、エンドリストナーを追加することができます。

const dispatcher = connection.playFile('./audio.wav');
dispatcher.on('end', function(){
    //do some conditionals and SEEK it to 0   
})