2017-08-09 1 views
0

J'essaie de faire en sorte que le bot réagisse différemment à chaque rôle du serveur mais je n'arrive pas à le faire fonctionner. Cela ne me donne aucune erreur, mais cela me donne une mauvaise réponse.Comment puis-je vérifier les rôles dans Discord avec un bot?

client.on('message', message => 
{ 
    if(message.content === prefix + 'assist') 
    if (message.member.roles.equals("344848334969765893")) 
     {  
     message.reply("Ohhh a fellow rng player! May the rng be with you!"); 
     } 
    else 
     { 
     message.reply("You do not have the Admin role."); 
     } 
}) 
+0

Bienvenue sur Stackoverflow. Pour que les gens puissent vous aider plus facilement, veuillez formater votre code correctement. Vous pouvez le mettre en retrait avec au moins 4 espaces (plusieurs lignes) ** ou ** envelopper dans les coches de retour (code en ligne). Aussi, essayez de vous soucier de l'orthographe lorsque vous posez une question. Je vous remercie! –

+0

En outre, veuillez préciser ce qui ne va pas lorsque vous exécutez votre code. Assurez-vous de se référer à [Comment demander] (https://stackoverflow.com/help/how-to-ask) –

Répondre

0

Vous recherchez

member.roles.find('name', 'Admin') 

Contrairement à

member.member.roles.equals("344848334969765893") 

ou utiliser

member.roles.get('344848334969765893') 

puisque vous connaissez déjà l'ID. Vous pouvez trouver la documentation de la collection discord.js sur findhere.


Pour répondre plus pleinement, pour la logique que vous faites, ce serait comme

client.on('message', (message) => { 
    if(message.content === prefix + 'assist') { 
    if (message.member.roles.get('344848334969765893')) 
     {  
     message.reply("Ohhh a fellow rng player! May the rng be with you!"); 
     } 
    else 
     { 
     message.reply("You do not have the Admin role."); 
     } 
    } 
}); 
+0

Pour une raison quelconque le member.roles.get (« 344848334969765893 ») pourrait ne pas fonctionner à droite, mais le member.roles.find ('nom', 'Admin') a bien fonctionné. Je vous remercie. –

+0

Pas de problème. Je verrai s'ils ont une méthode préférée différente. pourrait essayer comme un int. Je ne travaille pas avec des littéraux pour eux souvent. Si vous souhaitez voir leur documentation dessus, ils utilisent à peu près les mêmes fonctions que [maps] (https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Map /obtenir) –