Problème de roles discord.js

Fermé
tom - 28 avril 2020 à 18:11
jordane45 Messages postés 38222 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 juillet 2024 - 2 mai 2020 à 11:58
Bonjour,
je suis en train de coder un bot discord en node.js pour mon serveur, comme je ne suis pas doué, j'ai perdu mon grade admin, j'ai donc essayé de me donner le grade avec mon bot :
let role = message.guild.roles.find(role => role.name === "Admin");
 const member = message.mentions.members.first();
 member.roles.add(role);

Mais apparemment node ne connais pas la fonction find():

C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\index.js:56
let role = message.guild.roles.find(role => role.name === "Admin");
^

TypeError: message.guild.roles.find is not a function
at Client.<anonymous> (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\index.js:56:34)
at Client.emit (events.js:210:5)
at MessageCreateAction.handle (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
at WebSocketShard.onMessage (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:210:5)
at Receiver.receiverOnMessage (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\ws\lib\websocket.js:800:20)

Alors que celle ci est pourtant bien censcé être dans le package discord.js !
Pouvez vous m'aider à trouver la source de ce problème et peut-être une solution ?
Merci d'avance

Configuration: Windows/ Chrome 81.0.4044.122

2 réponses

jordane45 Messages postés 38222 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 juillet 2024 4 683
28 avril 2020 à 18:23
Bonjour,
Je ne fais pas de node ni de discord... mais une rapide recherche sur le net ( environ 30 secondes...) m'a permis de tomber sur plusieurs discussions traitants du même souci que toi.
La réponse donnée étant toujours la même

In the latest version of discord.js you must do member.guild.roles.cache to get the collection.
Donc
message.guild.roles.cache.find(

La documentation officielle étant disponible ici au cas où :
https://discord.js.org/#/docs/main/stable/class/GuildMemberRoleManager

.
Merci, mais j'ai un autre problème:
C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\index.js:58
member.roles.add('688373423214428270')
^

TypeError: Cannot read property 'roles' of undefined
at Client.<anonymous> (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\index.js:58:16)
at Client.emit (events.js:210:5)
at MessageCreateAction.handle (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\actions\MessageCreate.js:31:14)
at Object.module.exports [as MESSAGE_CREATE] (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\websocket\handlers\MESSAGE_CREATE.js:4:32)
at WebSocketManager.handlePacket (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\websocket\WebSocketManager.js:386:31)
at WebSocketShard.onPacket (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\websocket\WebSocketShard.js:436:22)
at WebSocketShard.onMessage (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\discord.js\src\client\websocket\WebSocketShard.js:293:10)
at WebSocket.onMessage (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\ws\lib\event-target.js:120:16)
at WebSocket.emit (events.js:210:5)
at Receiver.receiverOnMessage (C:\Users\Administrateur\Desktop\Projet\Steve-Harrington\node_modules\ws\lib\websocket.js:800:20)
0
jordane45 Messages postés 38222 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 23 juillet 2024 4 683 > tom
28 avril 2020 à 18:53
Je pense que la réponse se trouve dans le lien que je t'ai donné
0