aboutsummaryrefslogtreecommitdiff
path: root/src/commands/pause.ts
diff options
context:
space:
mode:
authorMax Isom <[email protected]>2020-03-15 19:30:07 -0500
committerMax Isom <[email protected]>2020-03-15 19:30:07 -0500
commit2875c6ceb89ccd22da500f6f3dccbe3c43893d86 (patch)
tree6a2bf5f0ad4963facd03cc303e0af02f4d6d5671 /src/commands/pause.ts
parente55acbb718c5b36315010b5d093b1554712aca4b (diff)
downloadmuse-2875c6ceb89ccd22da500f6f3dccbe3c43893d86.tar.xz
muse-2875c6ceb89ccd22da500f6f3dccbe3c43893d86.zip
Add pause/resume
Diffstat (limited to 'src/commands/pause.ts')
-rw-r--r--src/commands/pause.ts29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/commands/pause.ts b/src/commands/pause.ts
new file mode 100644
index 0000000..54855e0
--- /dev/null
+++ b/src/commands/pause.ts
@@ -0,0 +1,29 @@
+import {Message} from 'discord.js';
+import {TYPES} from '../types';
+import {inject, injectable} from 'inversify';
+import PlayerManager from '../managers/player';
+import {STATUS} from '../services/player';
+import Command from '.';
+
+@injectable()
+export default class implements Command {
+ public name = 'pause';
+ public description = 'pause currently playing song';
+ private readonly playerManager: PlayerManager;
+
+ constructor(@inject(TYPES.Managers.Player) playerManager: PlayerManager) {
+ this.playerManager = playerManager;
+ }
+
+ public async execute(msg: Message, _: string []): Promise<void> {
+ const player = this.playerManager.get(msg.guild!.id);
+
+ if (player.status !== STATUS.PLAYING) {
+ await msg.channel.send('error: not currently playing');
+ return;
+ }
+
+ player.pause();
+ await msg.channel.send('paused');
+ }
+}