Bonjour,

Voila je rencontre un petit problème avec mon code.

Mon code pour l'instant:

Mon code est plutôt simpliste:
[1] (Non exposé) dès qu'un utilisateur rejoint mon serveur, j'aimerais que cela lui envoi un mp, puis mon bot ajoute une réaction à ce message.
[2] (ci-dessous) dès que l'utilisateur coche la réaction, ça lui met un message comme quoi il a été "vérifié", et par la suite ça lui ajoute, et enlève un rôle.

client.on('messageReactionAdd', (reaction, user) => {
    if (!(reaction.message.channel.guild)) {

        if (reaction.emoji.name === '✅'){

            if (user.bot === true) {return}

            else{

                reaction.message.delete()
                user.send('Vous êtes vérifié !').then(message => {
                    message.react('✔')
                    message.delete(3000)
                })
                client.guilds.get(guildid).members.get(user).addRole('673341049829326858')
                client.guilds.get(guildid).members.get(user).removeRole('673340891397750826')                

            }
        }
    }
})

Mon problème:

Malheuresement, le code ne fonctionne pas, et après avoir cherché où se trouve la faille, je ne sais toujours pas comment régler ce problème.

Code d'erreur:

Voici ce que j'obtien dès que je coche (via un double compte) la réaction au message envoyé en mp par le bot:

C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\index.js:133
                user.addRole('673341049829326858')
                     ^

TypeError: user.addRole is not a function
    at Client.client.on (C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\index.js:133:22)
    at Client.emit (events.js:198:13)
    at MessageReactionAdd.handle (C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\node_modules\discord.js\src\client\actions\MessageReactionAdd.js:24:31)
    at MessageReactionAddHandler.handle (C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\node_modules\discord.js\src\client\websocket\packets\handlers\MessageReactionAdd.js:7:39)
    at WebSocketPacketManager.handle (C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\node_modules\discord.js\src\client\websocket\packets\WebSocketPacketManager.js:105:65)
    at WebSocketConnection.onPacket (C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:333:35)
    at WebSocketConnection.onMessage (C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\node_modules\discord.js\src\client\websocket\WebSocketConnection.js:296:17)
    at WebSocket.onMessage (C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\node_modules\ws\lib\event-target.js:120:16)
    at WebSocket.emit (events.js:198:13)
    at Receiver.receiverOnMessage (C:\Users\Pierrick\Desktop\Apps\Dev\Devs\Discord bots\iDev Bot\node_modules\ws\lib\websocket.js:789:20)

Puis, le bot crash.

Si vous avez une quelquonqe idée, je suis 100% preneur ! Cela fait environ 3 mois que je cherche un moyen de faire ce que j'ai décrit plus haut.

Merci :)
PS: Je m'excuse d'avance si vous trouvez des photes d'horthographe.

1 réponse


Le_Normand
Réponse acceptée

Regarde sur https://discordjs.guide/ sa t'aideras.
je te donne la page qui devrais t'aider : https://discordjs.guide/additional-info/changes-in-v12.html#roles