diff --git a/main.py b/main.py index d71f4e4..62a9ac1 100644 --- a/main.py +++ b/main.py @@ -396,14 +396,13 @@ class ClientById: return channel.send(*args, **kwargs) async def get_role(self, id_=None, name=None): - if id_: + if id_ is not None: for guild in self.client.guilds: role = discord.utils.get(guild.roles, id=id_) if role: return role - if name: + if name is not None: for guild in self.client.guilds: - print(list(r.name for r in guild.roles)) role = discord.utils.get(guild.roles, name=name) if role: return role diff --git a/modules/errors/__init__.py b/modules/errors/__init__.py index 9fa3961..ce919f3 100644 --- a/modules/errors/__init__.py +++ b/modules/errors/__init__.py @@ -103,4 +103,4 @@ class MainClass(BaseClassPython): except ValueError: pass # Save now to avoid deleting unkown message - await self.objects.save_object('errorsList', self.errorsList) + self.objects.save_object('errorsList', self.errorsList) diff --git a/modules/roles/__init__.py b/modules/roles/__init__.py index 5227ce5..60e30b0 100644 --- a/modules/roles/__init__.py +++ b/modules/roles/__init__.py @@ -31,5 +31,11 @@ class MainClass(BaseClassPython): if len(args) <= 1: await message.channel.send("Il manque des arguments à la commande") for role in args[0:]: - role = await self.client.id.get_role(name = role) - print(role.name) + drole = await self.client.id.get_role(name="Invité") + if drole is None or str(drole.id) not in self.config.roles.keys(): + await message.channel.send(f"Le role {role} n'est pas disponible.") + else: + try: + await message.author.add_roles(drole) + except discord.errors.Forbidden: + await message.channel.send(f"Je n'ai pas la permission d'attribuer le role {role}.")