Cela devrait vérifier si la personne spécifique fait ou n'a pas le rôle de muet
@bot.command(pass_context=True)
@commands.has_role("Admin")
async def unmute(ctx, user: discord.Member):
role = discord.utils.find(lambda r: r.name == 'Member',
ctx.message.server.roles)
if user.has_role(role):
await bot.say("{} is not muted".format(user))
else:
await bot.add_roles(user, role)
Cette erreur est lancée
Commande a soulevé une exception: attributError: l'objet 'Membre' n'a aucun attribut 'has_role'
Je ne sais pas comment le faire donc j'apprécierais vraiment toutes les aides que je peux obtenir
Le député n'a pas de méthode .has_role()
, vous pouvez toutefois obtenir une liste de tous leurs rôles à l'aide de .roles
.
Pour voir si un utilisateur a un rôle donné, nous pouvons utiliser role in user.roles
.
@bot.command(pass_context=True)
@commands.has_role("Admin")
async def unmute(ctx, user: discord.Member):
role = discord.utils.find(lambda r: r.name == 'Member', ctx.message.server.roles)
if role in user.roles:
await bot.say("{} is not muted".format(user))
else:
await bot.add_roles(user, role)
Docs pour référence: https://discordy.readthedocs.io/fr/latest/api.html#member