❌
const Discord = require('[Link]')
const transcript = require("discord-html-transcripts")
const { EmbedBuilder, ActionRowBuilder, ButtonBuilder,
ButtonStyle, ChannelType, SelectMenuBuilder } =
require("[Link]")
[Link] = async (bot, interaction) => {
if ([Link] ===
[Link]) {
let command = require(`../Commandes/$
{[Link]}`);
[Link](bot, interaction, [Link]);
}
if([Link]()) {
if([Link] === "close") {
let EmbedPermissionClose = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Vous n'avez pas la permission
requise !`)
if(!
[Link]([Link]
.ManageChannels)) return [Link]({embeds:
[EmbedPermissionClose], ephemeral: true})
let EmbedCloseTicket = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(`Êtes-vous sûr de vouloir fermer le
ticket ?`)
let Button = new ActionRowBuilder()
.addComponents(new ButtonBuilder()
.setCustomId('oui')
.setLabel("Oui")
.setStyle([Link]),
new ButtonBuilder()
.setCustomId('non')
.setLabel("Non")
.setStyle([Link]),
);
await [Link]({embeds: [EmbedCloseTicket],
components: [Button]});}
else if([Link] === "oui") {
let EmbedPermissionClose = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Vous n'avez pas la permission
requise !`)
if(!
[Link]([Link]
.ManageChannels)) return [Link]({embeds:
[EmbedPermissionClose], ephemeral: true})
[Link]();
}
else if([Link] === "non") {
let EmbedPermissionClose = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Vous n'avez pas la permission
requise !`)
if(!
[Link]([Link]
.ManageChannels)) return [Link]({embeds:
[EmbedPermissionClose], ephemeral: true})
[Link]()
}
else if([Link] === "transcript") {
let EmbedSendTranscript = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Transcript envoyé avec succès !`)
let EmbedTranscript = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Transcript de $
{[Link][0].[Link](" ")[0]}`)
let EmbedPermissionTranscript = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Vous n'avez pas la permission
requise !`)
if(!
[Link]([Link]
.ManageChannels)) return [Link]({embeds:
[EmbedPermissionTranscript], ephemeral: true})
await [Link]({ ephemeral: true })
await
[Link]("1009044411642023997").send( {embeds:
[EmbedTranscript], files: [await
[Link]([Link])]})
await [Link]({embeds:
[EmbedSendTranscript], ephemeral: true})
}
}
if([Link]()) {
if([Link] === 'menuticket') {
if([Link] == 'help') {
const EmbedTicket1 = new EmbedBuilder()
.setColor("#7cd87f")
.setTitle(`Comment créer un ticket ?`)
.setDescription(`Pour créer un ticket, il vous suffit
juste de cliquer sur le menu déroulant ci-dessous et de
sélectionner la catégorie qui convient le mieux à votre
demande !\n\nNe mentionnez personne, sauf si vous n'avez
aucune réponse au bout de 1h30 !\n\nNe spammez pas !\n\nChaque
catégorie a une fonction, merci de les respecter !\n\nTout
abus sera sanctionné !`)
.setTimestamp()
.setFooter({ text: `${[Link]}`, iconURL:
[Link]({dynamic: true}) });
const RowTicket = new ActionRowBuilder()
.addComponents(
new SelectMenuBuilder()
.setCustomId('menuticket')
.setPlaceholder('Sélectionner le type de ticket que
vous voulez !')
.addOptions(
{
label: `Besoin d'aide`,
description: `Ouvrir un ticket pour obtenir de
l'aide`,
emoji: ` `,
value: `help`,
},
{
label: `Candidature staff`,
description: `Ouvrir un ticket pour déposer
votre candidature`,
emoji: ` `,
value: `staff`,
}, {
label: `Problème RP`,
description: `Ouvrir un ticket pour vous
plaindre d'un problème RP`,
emoji: ` `,
value: `problemerp`,
},
),
);
await [Link]();
await [Link]({embeds: [EmbedTicket1],
components: [RowTicket]})
let channel = await
[Link]({
parent: "997277464562778196",
name: `help-${[Link]}`,
type: [Link],
permissionOverwrites: [
{
id: [Link],
deny: [[Link]],
},
{
id: [Link],
allow: [[Link],
[Link]],
},
],
});
let EmbedCreateChannel = new EmbedBuilder()
.setColor("#7cd87f")
.setTitle('Ticket ouvert')
.setDescription("Bonjour / Bonsoir <@" +
[Link] + "> !\n\nUn membre du staff va s'occuper
de vous dans les plus brefs délais.\n\nPendant ce temps,
décrivez nous votre problème, et préparez vos clips vidéos !")
.setTimestamp()
.setFooter({ text: `${[Link]}`, iconURL:
[Link]({dynamic: true}) });
const Row = new ActionRowBuilder()
.addComponents(new ButtonBuilder()
.setCustomId('close')
.setLabel('Fermer le ticket')
.setEmoji(' ')
.setStyle([Link]),
new ButtonBuilder()
.setCustomId('transcript')
.setLabel('Demander le transcript')
.setEmoji(' ')
.setStyle([Link]),
);
await [Link]({embeds: [EmbedCreateChannel],
components: [Row]})
const EmbedSuccessCreateChannel = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Votre salon a été créé avec succès
${channel} !`)
await [Link]({embeds:
[EmbedSuccessCreateChannel], ephemeral: true})
}
else if([Link] == 'staff') {
const EmbedTicket1 = new EmbedBuilder()
.setColor("#7cd87f")
.setTitle(`Comment créer un ticket ?`)
.setDescription(`Pour créer un ticket, il vous suffit
juste de cliquer sur le menu déroulant ci-dessous et de
sélectionner la catégorie qui convient le mieux à votre
demande !\n\nNe mentionnez personne, sauf si vous n'avez
aucune réponse au bout de 1h30 !\n\nNe spammez pas !\n\nChaque
catégorie a une fonction, merci de les respecter !\n\nTout
abus sera sanctionné !`)
.setTimestamp()
.setFooter({ text: `${[Link]}`, iconURL:
[Link]({dynamic: true}) });
const RowTicket = new ActionRowBuilder()
.addComponents(
new SelectMenuBuilder()
.setCustomId('menuticket')
.setPlaceholder('Sélectionner le type de ticket que
vous voulez !')
.addOptions(
{
label: `Besoin d'aide`,
description: `Ouvrir un ticket pour obtenir de
l'aide`,
emoji: ` `,
value: `help`,
},
{
label: `Candidature staff`,
description: `Ouvrir un ticket pour déposer
votre candidature`,
emoji: ` `,
value: `staff`,
}, {
label: `Problème RP`,
description: `Ouvrir un ticket pour vous
plaindre d'un problème RP`,
emoji: ` `,
value: `problemerp`,
},
),
);
await [Link]();
await [Link]({embeds: [EmbedTicket1],
components: [RowTicket]})
let channel = await
[Link]({
parent: "997277464562778196",
name: `staff-${[Link]}`,
type: [Link],
permissionOverwrites: [
{
id: [Link],
deny: [[Link]],
},
{
id: [Link],
allow: [[Link],
[Link]],
},
],
});
let EmbedCreateChannel = new EmbedBuilder()
.setColor("#7cd87f")
.setTitle('Ticket ouvert')
.setDescription("Bonjour / Bonsoir <@" +
[Link] + "> !\n\nPour obtenir le formulaire
staff, veuillez faire la commande `/staff` et de le compléter
avec vos informations !\n\nUn membre de la Direction
s'occupera de votre demande.")
.setTimestamp()
.setFooter({ text: `${[Link]}`, iconURL:
[Link]({dynamic: true}) });
const Row = new ActionRowBuilder()
.addComponents(new ButtonBuilder()
.setCustomId('close')
.setLabel('Fermer le ticket')
.setEmoji(' ')
.setStyle([Link]),
new ButtonBuilder()
.setCustomId('transcript')
.setLabel('Demander le transcript')
.setEmoji(' ')
.setStyle([Link]),
);
await [Link]({embeds: [EmbedCreateChannel],
components: [Row]})
const EmbedSuccessCreateChannel = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Votre salon a été créé avec succès
${channel} !`)
await [Link]({embeds:
[EmbedSuccessCreateChannel], ephemeral: true})
}
else if([Link] == 'problemerp') {
const EmbedTicket1 = new EmbedBuilder()
.setColor("#7cd87f")
.setTitle(`Comment créer un ticket ?`)
.setDescription(`Pour créer un ticket, il vous suffit
juste de cliquer sur le menu déroulant ci-dessous et de
sélectionner la catégorie qui convient le mieux à votre
demande !\n\nNe mentionnez personne, sauf si vous n'avez
aucune réponse au bout de 1h30 !\n\nNe spammez pas !\n\nChaque
catégorie a une fonction, merci de les respecter !\n\nTout
abus sera sanctionné !`)
.setTimestamp()
.setFooter({ text: `${[Link]}`, iconURL:
[Link]({dynamic: true}) });
const RowTicket = new ActionRowBuilder()
.addComponents(
new SelectMenuBuilder()
.setCustomId('menuticket')
.setPlaceholder('Sélectionner le type de ticket que
vous voulez !')
.addOptions(
{
label: `Besoin d'aide`,
description: `Ouvrir un ticket pour obtenir de
l'aide`,
emoji: ` `,
value: `help`,
},
{
label: `Candidature staff`,
description: `Ouvrir un ticket pour déposer
votre candidature`,
emoji: ` `,
value: `staff`,
}, {
label: `Problème RP`,
description: `Ouvrir un ticket pour vous
plaindre d'un problème RP`,
emoji: ` `,
value: `problemerp`,
},
),
);
await [Link]();
await [Link]({embeds: [EmbedTicket1],
components: [RowTicket]})
let channel = await [Link]({
parent: "997277464562778196",
name: `problemerp-${[Link]}`,
type: [Link],
permissionOverwrites: [
{
id: [Link],
deny: [[Link]],
},
{
id: [Link],
allow: [[Link],
[Link]],
},
],
});
let EmbedCreateChannel = new EmbedBuilder()
.setColor("#7cd87f")
.setTitle('Ticket ouvert')
.setDescription("Bonjour / Bonsoir <@" +
[Link] + "> !\n\nUn membre du staff va s'occuper
de vous dans les plus brefs délais.\n\nPendant ce temps,
décrivez nous votre problème, et préparez vos clips vidéos !")
.setTimestamp()
.setFooter({ text: `${[Link]}`, iconURL:
[Link]({dynamic: true}) });
const Row = new ActionRowBuilder()
.addComponents(new ButtonBuilder()
.setCustomId('close')
.setLabel('Fermer le ticket')
.setEmoji(' ')
.setStyle([Link]),
new ButtonBuilder()
.setCustomId('transcript')
.setLabel('Demander le transcript')
.setEmoji(' ')
.setStyle([Link]),
);
await [Link]({embeds: [EmbedCreateChannel],
components: [Row]})
const EmbedSuccessCreateChannel = new EmbedBuilder()
.setColor("#7cd87f")
.setDescription(` Votre salon a été créé avec succès $
{channel} !`)
await [Link]({embeds:
[EmbedSuccessCreateChannel], ephemeral: true})
}
}
}
}