import { SlashCommandBuilder, MessageFlags } from "discord.js" import type { ChatInputCommandInteraction } from "discord.js" import { useQueue } from "discord-player" import { t } from "@/utils/i18n" export const data = new SlashCommandBuilder() .setName("queue") .setDescription("Get the queue") .setNameLocalizations({ fr: "file" }) .setDescriptionLocalizations({ fr: "Récupérer la file d'attente." }) export async function execute(interaction: ChatInputCommandInteraction) { const queue = useQueue(interaction.guild?.id ?? "") if (!queue) return interaction.reply({ content: t(interaction.locale, "player.no_queue_search_instead"), flags: MessageFlags.Ephemeral}) if (!queue.currentTrack) return interaction.reply({ content: t(interaction.locale, "player.no_track_playing"), flags: MessageFlags.Ephemeral}) const track = `[${queue.currentTrack.title}](${queue.currentTrack.url})` const tracks = queue.tracks.map((track, index) => { return `${index + 1}. [${track.title}](${track.url})` }) if (tracks.length === 0) return interaction.reply({ content: t(interaction.locale, "player.now_playing_no_queue", { track }) }) return interaction.reply({ content: t(interaction.locale, "player.now_playing_with_queue", { track, tracks: tracks.join("\n") }) }) }