chore: 🎉 initial commit
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
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);
|
||||
}
|
||||
};
|
||||
Reference in New Issue
Block a user