Partage
  • Partager sur Facebook
  • Partager sur Twitter

Erreur bot discord message privé

    20 juin 2019 à 0:39:30

    Bonsoir, voilà je met en place un bot discord pour l'attribution ou suppression de rôles par réaction. Je rencontre un problème sur la partie qui confirme l'attribution ou la suppression du rôle en MP. En effet quand l'utilisateur refuse les MP cela me renvoi une erreur dans la console et fait planté mon bot. Justement je ne sais pas trop comment renvoyé cette erreur afin que le bot ne plante pas si quelqu'un pouvait me donner le chemin à suivre. Car je débute et expérimente parfois afin de comprendre comment un ensemble fonctionne mais j'apprend mieux de cette manière désolé d'avance.

    Voici mon code:

    //addrole & delrole
    client.on('raw', event => {
        const eventName = event.t;
        if (eventName === 'MESSAGE_REACTION_ADD')
        {
            if (event.d.message_id === '590033047932502017')
            {
                var reactionChannel = client.channels.get(event.d.channel_id);
                if(reactionChannel.messages.has(event.d.message_id))
                    return;
                else {
                    reactionChannel.fetchMessage(event.d.message_id)
                    .then(msg => {
                        var msgReaction = msg.reactions.get(event.d.emoji.name + ":" + event.d.emoji.id);
                        var user = client.users.get(event.d.user_id);
                        client.emit('messageReactionAdd', msgReaction, user);
                    })
                    .catch(err => console.log(err));
                }
            }
        }
        else if(eventName === 'MESSAGE_REACTION_REMOVE')
        {
            if (event.d.message_id === '590033047932502017')
            {
                var reactionChannel = client.channels.get(event.d.channel_id);
                if (reactionChannel.messages.has(event.d.message_id))
                    return;
                else {
                    reactionChannel.fetchMessage(event.d.message_id)
                    .then(msg => {
                        var msgReaction = msg.reactions.get(event.d.emoji.name + ":" + event.d.emoji.id);
                        var user = client.users.get(event.d.user_id);
                        client.emit('messageReactionRemove', msgReaction, user);
                    })
                    .catch(err => console.log(err));
                }
            }
        }
    });
    
    client.on('messageReactionAdd', (messageReaction, user) => {
    
        var roleName = messageReaction.emoji.name;
        var role = messageReaction.message.guild.roles.find(role => role.name.toLowerCase() === roleName.toLowerCase());
    
        if(role)
        {
            var member = messageReaction.message.guild.members.find(member => member.id === user.id);
            if(member)
            {
                member.addRole(role.id);
                client.channels.get("509864489248620547").send(`Rôle ${role} attribué à ${user}`);
                member.createDM().then(channel => {
                    channel.send(`Le rôle **${role.name}** vous a bien été attribué`);
                }).catch(err)
                console.log(`succès. Rôle ajouté.`)
            }
        }
    });
    
    client.on('messageReactionRemove', (messageReaction, user) => {
    
        var roleName = messageReaction.emoji.name;
        var role = messageReaction.message.guild.roles.find(role => role.name.toLowerCase() === roleName.toLowerCase());
    
        if(role)
        {
            var member = messageReaction.message.guild.members.find(member => member.id === user.id);
            if(member)
            {
                member.removeRole(role.id);
                client.channels.get("509864489248620547").send(`Rôle ${role} retiré à ${user}`);
                member.createDM().then(channel => {
                    channel.send(`Le rôle **${role.name}** vous a bien été retiré`);
                }).catch(err)
                console.log("succès. Rôle retiré.")
            }
        }
    });

    Et voici mon erreur de la console:

    ReferenceError: err is not defined
    botexp.js:67
    (node:16484) UnhandledPromiseRejectionWarning: DiscordAPIError: Cannot send messages to this user
        at item.request.gen.end (d:\Bibliothèques\Desktop\Fences\4-Codage\Site Web\Bot Discord\BotExp\node_modules\discord.js\src\client\rest\RequestHandlers\Sequential.js:85:15)
        at then (d:\Bibliothèques\Desktop\Fences\4-Codage\Site Web\Bot Discord\BotExp\node_modules\discord.js\node_modules\snekfetch\src\index.js:215:21)
        at process._tickCallback (internal/process/next_tick.js:68:7)
    warning.js:18
    (node:16484) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 2)
    warning.js:18
    (node:16484) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.




    • Partager sur Facebook
    • Partager sur Twitter

    Erreur bot discord message privé

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    • Editeur
    • Markdown