aboutsummaryrefslogtreecommitdiff
path: root/src/services/queue.ts
diff options
context:
space:
mode:
authorMax Isom <[email protected]>2020-03-14 12:41:00 -0500
committerMax Isom <[email protected]>2020-03-14 12:41:00 -0500
commitad4d49f763e28796ce586def0aa3b1765065b9e3 (patch)
treeefe0869cfd89e997012602b9a0ac44c1f12ca718 /src/services/queue.ts
parentfb91c8e89cb34465315ac3c9f4f11e27ec577348 (diff)
downloadmuse-ad4d49f763e28796ce586def0aa3b1765065b9e3.tar.xz
muse-ad4d49f763e28796ce586def0aa3b1765065b9e3.zip
Add shuffle command
Diffstat (limited to 'src/services/queue.ts')
-rw-r--r--src/services/queue.ts11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/services/queue.ts b/src/services/queue.ts
index 85777e5..be59c7f 100644
--- a/src/services/queue.ts
+++ b/src/services/queue.ts
@@ -1,4 +1,5 @@
import {injectable} from 'inversify';
+import shuffle from 'array-shuffle';
export interface QueuedPlaylist {
title: string;
@@ -84,6 +85,16 @@ export default class {
}
}
+ shuffle(guildId: string): void {
+ const queue = this.guildQueues.get(guildId);
+
+ if (!queue) {
+ throw new Error('Queue doesn\'t exist yet.');
+ }
+
+ this.guildQueues.set(guildId, [queue[0], ...shuffle(queue.slice(1))]);
+ }
+
size(guildId: string): number {
return this.get(guildId).length;
}