Some checks failed
Build and Push Docker Image / build-and-push (push) Failing after 5m5s
27 lines
1.3 KiB
TypeScript
27 lines
1.3 KiB
TypeScript
import { SlashCommandBuilder, MessageFlags } from "discord.js"
|
|
import type { ChatInputCommandInteraction } from "discord.js"
|
|
import { useQueue } from "discord-player"
|
|
import { generatePlayerEmbed } from "@/utils/player"
|
|
import uptime from "@/utils/uptime"
|
|
import { t } from "@/utils/i18n"
|
|
|
|
export const data = new SlashCommandBuilder()
|
|
.setName("panel")
|
|
.setDescription("Generate current playback info")
|
|
.setNameLocalizations({ fr: "panneau" })
|
|
.setDescriptionLocalizations({ fr: "Générer les infos de la lecture en cours" })
|
|
|
|
export async function execute(interaction: ChatInputCommandInteraction) {
|
|
const queue = useQueue(interaction.guild?.id ?? "")
|
|
if (!queue) return interaction.followUp({ content: t(interaction.locale, "player.no_queue"), flags: MessageFlags.Ephemeral })
|
|
|
|
const guild = interaction.guild
|
|
if (!guild) return interaction.reply({ content: t(interaction.locale, "common.private_message_not_available"), flags: MessageFlags.Ephemeral })
|
|
|
|
const { embed, components } = generatePlayerEmbed(guild, interaction.locale)
|
|
if (components && embed.data.footer) embed.setFooter({ text: `${t(interaction.locale, "player.uptime")}: ${uptime(guild.client.uptime)} \n ${embed.data.footer.text}` })
|
|
else embed.setFooter({ text: `${t(interaction.locale, "player.uptime")}: ${uptime(guild.client.uptime)}` })
|
|
|
|
return interaction.reply({ embeds: [embed] })
|
|
}
|