discord-jellyfin-bot/src/commands/pause.command.ts
2022-12-18 12:17:33 +01:00

43 lines
1.2 KiB
TypeScript

import { TransformPipe } from '@discord-nestjs/common';
import { Command, DiscordCommand, UsePipes } from '@discord-nestjs/core';
import { CommandInteraction, InteractionReplyOptions } from 'discord.js';
import { DiscordMessageService } from '../clients/discord/discord.message.service';
import { DiscordVoiceService } from '../clients/discord/discord.voice.service';
@Command({
name: 'pause',
description: 'Pause or resume the playback of the current track',
})
@UsePipes(TransformPipe)
export class PausePlaybackCommand implements DiscordCommand {
constructor(
private readonly discordVoiceService: DiscordVoiceService,
private readonly discordMessageService: DiscordMessageService,
) {}
handler(
commandInteraction: CommandInteraction,
): string | InteractionReplyOptions {
const newStatus = this.discordVoiceService.togglePaused();
if (newStatus) {
return {
embeds: [
this.discordMessageService.buildMessage({
title: 'Paused',
}),
],
};
}
return {
embeds: [
this.discordMessageService.buildMessage({
title: 'Unpaused',
}),
],
};
}
}