b68/packages/bot/src/commands/slash/stop.ts

36 lines
1.1 KiB
TypeScript

import { SlashCommandBuilder } from 'discord.js'
import { bot } from '../../index'
import { i18n } from '../../utils/i18n'
import { canModifyQueue } from '../../utils/queue'
import { SlashCommand } from '../../sturctures/command'
export const command: SlashCommand = {
slashData: new SlashCommandBuilder()
.setName('stop')
.setDescription(i18n.__('stop.description')),
run: (itd) => {
const { interaction }: any = itd
const queue = bot.queues.get(interaction.guild!.id)
const guildMemer = interaction.guild!.members.cache.get(
interaction.user.id
)
if (!queue)
return interaction
.reply(i18n.__('stop.errorNotQueue'))
.catch(console.error)
if (!guildMemer || !canModifyQueue(guildMemer))
return i18n.__('common.errorNotChannel')
queue.stop()
interaction
.reply({
content: i18n.__mf('stop.result', {
author: interaction.user.id,
}),
})
.catch(console.error)
},
}