import { SlashCommandBuilder, MessageFlags } from "discord.js"
import type { ChatInputCommandInteraction } from "discord.js"
import { useQueue } from "discord-player"
import { stopProgressSaving } from "@/utils/player"
import { t } from "@/utils/i18n"

export const data = new SlashCommandBuilder()
	.setName("stop")
	.setDescription("Stop the music")
	.setNameLocalizations({ fr: "arreter" })
	.setDescriptionLocalizations({ fr: "Arrêter la musique" })

export async function execute(interaction: ChatInputCommandInteraction) {
	await stopProgressSaving(interaction.guild?.id ?? "", interaction.client.user.id)

	const queue = useQueue(interaction.guild?.id ?? "")
	if (!queue) return interaction.followUp({ content: t(interaction.locale, "player.no_queue_search_instead"), flags: MessageFlags.Ephemeral})

	queue.delete()
	return interaction.reply(t(interaction.locale, "player.stopped"))
}
