Как я могу l oop песни автоматически, давая команду только один раз - PullRequest
0 голосов
/ 05 апреля 2020

Я сделал команду al oop. Он повторяется только один раз после подачи команды и требует, чтобы команда повторялась второй раз.

if(msg.content === '_loop'){
        let fetch = ops.active.get(msg.guild.id)
        if(!fetch.queue) return msg.channel.send("There is no song in the queue!")

        let ls = fetch.queue[0];
    //  cloning object
        const clone = JSON.parse(JSON.stringify(ls));
        msg.channel.send("Loop Enabled!")

        while (fetch.queue.length == 1) {
            fetch.queue.push(clone);
        }
    };

Я знаю, что это неправильно, он только зацикливается, когда я даю команду, но я хочу сделать это непрерывно l oop после запуска команды.

Я задал условие (fetch.queue.length == 1)

Это только добавляет песню в очередь, когда я даю команду.

Как я могу сделать это так это только требует, чтобы команда была выполнена один раз, а затем постоянно повторяется?

1 Ответ

0 голосов
/ 05 апреля 2020

Я не думаю, что это эффективный способ,

Если ops.active - это коллекция, вы можете включить l oop в ней

fetch.loop = !fetch.loop //if length == 1

И я предполагаю, что вы используя connection.("end"), если l oop включен, pu sh текущая песня там

...