From fdf12bd2bd45c1c075a93d89b1eb086abeb8acfc Mon Sep 17 00:00:00 2001 From: Louis Chauvet Date: Sun, 22 Mar 2020 11:31:29 +0100 Subject: [PATCH] [mod-roles] Done --- main.py | 5 ++--- modules/errors/__init__.py | 2 +- modules/roles/__init__.py | 10 ++++++++-- 3 files changed, 11 insertions(+), 6 deletions(-) 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}.")