我做了一个循环命令。 发出命令后仅重复一次,并再次要求命令重复 第二次。
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);
}
};
我知道它的错,它只在我发出命令时才循环,但我想让它在运行命令后不断循环。
我给了条件(fetch.queue.length == 1)
仅当我发出命令时,它会将歌曲添加到队列中。
如何做到这一点,使其只需要运行一次命令然后连续循环?
答案 0 :(得分:0)
我认为这不是有效的方法,
如果ops.active
是一个集合,则可以在其中切换循环
fetch.loop = !fetch.loop //if length == 1
我假设您正在使用connection.("end")
,如果启用了循环,
将当前歌曲推送到那里