Added queue shuffle

This commit is contained in:
2022-07-18 14:53:35 +07:00
parent 2b4a534e0c
commit 97398bf1e2
5 changed files with 41 additions and 11 deletions
+18
View File
@@ -343,6 +343,24 @@ export class DiscordMusicPlayerInstance {
this.queue.track = [this.queue.track[0]];
}
public shuffleQueue() {
if (!this.voiceConnection) throw new Error('No voice connection');
const shuffleFixedFirst = (queue: ValidTracks[]) => {
if(queue.length <= 2) return queue;
const fixedFirst = queue.shift();
if(!fixedFirst) return queue;
queue.sort(() => Math.random() - 0.5);
queue.unshift(fixedFirst);
return queue;
}
if(!this.queue.track || this.queue.track.length === 0) return;
this.queue.track = shuffleFixedFirst(this.queue.track);
}
public setLoopMode(mode: DiscordMusicPlayerLoopMode) {
this.loopMode = mode;
}