mirror of
https://github.com/BluemediaDev/muse.git
synced 2025-05-10 12:11:35 +02:00
Add skip/unskip
This commit is contained in:
parent
3c169d113c
commit
e55acbb718
3 changed files with 70 additions and 0 deletions
33
src/commands/skip.ts
Normal file
33
src/commands/skip.ts
Normal file
|
@ -0,0 +1,33 @@
|
|||
import {Message} from 'discord.js';
|
||||
import {TYPES} from '../types';
|
||||
import {inject, injectable} from 'inversify';
|
||||
import PlayerManager from '../managers/player';
|
||||
import QueueManager from '../managers/queue';
|
||||
import Command from '.';
|
||||
|
||||
@injectable()
|
||||
export default class implements Command {
|
||||
public name = 'skip';
|
||||
public description = 'skips current song';
|
||||
private readonly queueManager: QueueManager;
|
||||
private readonly playerManager: PlayerManager;
|
||||
|
||||
constructor(@inject(TYPES.Managers.Queue) queueManager: QueueManager, @inject(TYPES.Managers.Player) playerManager: PlayerManager) {
|
||||
this.queueManager = queueManager;
|
||||
this.playerManager = playerManager;
|
||||
}
|
||||
|
||||
public async execute(msg: Message, _: string []): Promise<void> {
|
||||
const queue = this.queueManager.get(msg.guild!.id);
|
||||
|
||||
try {
|
||||
queue.forward();
|
||||
|
||||
await this.playerManager.get(msg.guild!.id).play();
|
||||
|
||||
await msg.channel.send('keepin\' \'er movin\'');
|
||||
} catch (_) {
|
||||
await msg.channel.send('no song to skip to');
|
||||
}
|
||||
}
|
||||
}
|
33
src/commands/unskip.ts
Normal file
33
src/commands/unskip.ts
Normal file
|
@ -0,0 +1,33 @@
|
|||
import {Message} from 'discord.js';
|
||||
import {TYPES} from '../types';
|
||||
import {inject, injectable} from 'inversify';
|
||||
import PlayerManager from '../managers/player';
|
||||
import QueueManager from '../managers/queue';
|
||||
import Command from '.';
|
||||
|
||||
@injectable()
|
||||
export default class implements Command {
|
||||
public name = 'unskip';
|
||||
public description = 'go back in the queue';
|
||||
private readonly queueManager: QueueManager;
|
||||
private readonly playerManager: PlayerManager;
|
||||
|
||||
constructor(@inject(TYPES.Managers.Queue) queueManager: QueueManager, @inject(TYPES.Managers.Player) playerManager: PlayerManager) {
|
||||
this.queueManager = queueManager;
|
||||
this.playerManager = playerManager;
|
||||
}
|
||||
|
||||
public async execute(msg: Message, _: string []): Promise<void> {
|
||||
const queue = this.queueManager.get(msg.guild!.id);
|
||||
|
||||
try {
|
||||
queue.back();
|
||||
|
||||
await this.playerManager.get(msg.guild!.id).play();
|
||||
|
||||
await msg.channel.send('back \'er up\'');
|
||||
} catch (_) {
|
||||
await msg.channel.send('no song to go back to');
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue