Files
qcstd-bot/SlashCommand/tickets/close.js
T
2025-08-26 01:01:34 +02:00

40 lines
1.3 KiB
JavaScript

const { SlashCommandBuilder, EmbedBuilder, MessageFlags } = require("discord.js");
const { getTicketByChannel, closeTicket } = require("../../handlers/database");
const { config, lang } = require("../../handlers/configLoader");
module.exports = {
data: new SlashCommandBuilder()
.setName("close")
.setDescription("Fermer un ticket"),
async execute(interaction) {
const ticket = getTicketByChannel(interaction.channel.id);
if (!ticket) {
return interaction.reply({ content: lang.ticket.not_in_ticket, flags: MessageFlags.Ephemeral });
}
closeTicket(interaction.channel.id);
await interaction.reply(lang.ticket.closing);
// Log fermeture
const logChannel = await interaction.client.channels.fetch(config.logsChannel).catch(() => null);
if (logChannel) {
const embed = new EmbedBuilder()
.setTitle("🔒 Ticket fermé")
.addFields(
{ name: "Salon", value: `${interaction.channel.name}`, inline: true },
{ name: "Fermé par", value: `${interaction.user.tag} (${interaction.user.id})`, inline: true }
)
.setColor(0xe74c3c)
.setTimestamp();
logChannel.send({ embeds: [embed] });
}
setTimeout(() => {
interaction.channel.delete().catch(() => {});
}, 5000);
}
};