Bonjour,
J'essaye de crée une commande de ticket mais celle-ci ne fonctionne qu'à moitié...
Voici le code

const Discord = require("discord.js");

module.exports.run = async (bot, message, args) => {

    message.channel.bulkDelete(1)

        var server = message.guild 
        const reason = message.content.split(" ").slice(1).join(" "); 

        if (!message.guild.roles.find("name", "Staff")) return message.channel.send(`Ce Serveur n'a pas de Role \`Staff\`, il faut le créer sinon le ticket ne peut etre ouvert.`);

        if (message.guild.channels.find("name", "ticket-" + message.author.username.toLowerCase())) return message.channel.send(`Tu as déjà un ticket ouvert`);
        if (!args[0]) return message.channel.send(`Vous devez spécifier un Problème, *ticket problème`);
        message.guild.createChannel(`ticket-${message.author.username.toLowerCase()}`, "text").then(c => {
            let category = server.channels.find(c => c.name == "Help" && c.type == "category")
            c.setParent(category.id)
            let role = message.guild.roles.find("name", "Staff");
            let role2 = message.guild.roles.find("name", "@everyone");
            c.overwritePermissions(role, {
                SEND_MESSAGES: true,
                READ_MESSAGES: true
            });
            c.overwritePermissions(role2, {
                SEND_MESSAGES: false,
                READ_MESSAGES: false
            });
            c.overwritePermissions(message.author, {
                SEND_MESSAGES: true,
                READ_MESSAGES: true
            });
            message.member.sendMessage(`${message.author.username}, ton ticket vient d'être crée, <#${c.id}>.`);
            const embed = new Discord.RichEmbed()

                .setColor('#DC143C')
                .addField(`Raison du ticket : `, `${reason}`)
                .addField(`RedBoulle | Support `, ` Bonjour ${message.author} – ceci est une réponse automatique :
                S'il vous plaît, veuillez nous communiquer de la manière la plus précise et complète possible votre plainte, problème ou question.

                **COMMENT FORMULER UN TICKET PRÉCIS ?**
                **•** indiquer le serveur concerné.
                **•** expliquer la nature du problème.
                **•** attacher un screen et/ou record si nécessaire.

                Merci de patienter le temps qu'un membre de l'équipe soit en mesure de vous aider.

                Si vous n'avez pas d'autres questions et/ou demandes, nous vous invitons à clôturer votre ticket en cours en cliquant sur la réaction ✅.`)
                .setTimestamp();
            c.send({
                embed: embed
            }).then (function (message){
                message.react('✅')
  bot.on('messageReactionAdd', (reaction, user) => {
console.log("dans bot.on")
  if (reaction.emoji.name === "✅" && user.id !== bot.user.id) {
    c.delete()
    console.log("Delete salon") 
};           
             });
            });           
        }).catch(console.error); 
    };
    module.exports.help = {
    name: "ticket"
};

*Le probléme est le suivant :**
Quand une personne veut cloturer son ticket en cliquant sur la réaction, tout les ticket qui sont ouvert se ferment...
Pouvez vous m'aider ?

3 réponses


Bonjour,

Je ne connait pas du tout ce scrip et je n'ai pas compris grand chose à ton code... quelle est la partie qui ferme le ticket ?

Sinon je pense que si une action censsée viser un seul élement s'applique à tous les élements, c'est qu'il y a un problème de selection...

Je vois que mon snippet sur le serveur Discord de 'getCodingKnowledge' a été reprit de nombreuses fois...
Ajoute moi sur Discord pour que je t'explique comment il fonctionne, ce n'est pas très compiqué : XeraFiu#3538

Bonjour, je tiens à dire que ce code est prit d'un github et n'est pas créer >:3