diff options
| author | Max Isom <[email protected]> | 2020-03-14 12:41:00 -0500 |
|---|---|---|
| committer | Max Isom <[email protected]> | 2020-03-14 12:41:00 -0500 |
| commit | ad4d49f763e28796ce586def0aa3b1765065b9e3 (patch) | |
| tree | efe0869cfd89e997012602b9a0ac44c1f12ca718 /src/services/queue.ts | |
| parent | fb91c8e89cb34465315ac3c9f4f11e27ec577348 (diff) | |
| download | muse-ad4d49f763e28796ce586def0aa3b1765065b9e3.tar.xz muse-ad4d49f763e28796ce586def0aa3b1765065b9e3.zip | |
Add shuffle command
Diffstat (limited to 'src/services/queue.ts')
| -rw-r--r-- | src/services/queue.ts | 11 |
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; } |
