diff --git a/main.py b/main.py index d5b8ac9..7409df6 100644 --- a/main.py +++ b/main.py @@ -236,7 +236,7 @@ class LBI(discord.Client): # Content: {"module_name": {"module": imported module, "class": initialized class}} self.modules = {} self.config = config - self.config.init({"modules": ["modules", "errors"], "prefix": "%", "owners": []}) + self.config.init({"modules": ["modules", "errors"], "prefix": "%", "admin_roles": [], "admin_users": []}) self.load_modules() @modules_edit diff --git a/modules/base/Base.py b/modules/base/Base.py index 9fe5c24..ee99ece 100644 --- a/modules/base/Base.py +++ b/modules/base/Base.py @@ -51,28 +51,31 @@ class BaseClass: inline=False) await channel.send(embed=embed) - async def auth(self, user: discord.User, role_list: List[int] = None, user_list: List[int] = None): + async def auth(self, user: discord.User, role_list: List[int] = None, user_list: List[int] = None, + guild: int = None): """ Return True if user is an owner of the bot or in authorized_users or he have a role in authorized_roles. + :param user: User to check :param user_list: List of authorized users, if not specified use self.authorized_users :param role_list: list of authorized roles, if not specified use self.authorized_roles + :param guild: Specific guild to search role :type user_list: List[Int] :type role_list: List[Int] + :type guild: Int :type user: discord.User """ - if role_list is None: - role_list = self.config["authorized_roles"] if user_list is None: - user_list = self.config["authorized_users"] - if len(role_list) == 0 and len(user_list) == 0: - # Everyone can use this command - return True - if user.id in self.client.config["owners"]: - return True + user_list = self.config.authorized_users + self.client.config.admin_users if user.id in user_list: return True - for guild in self.client.guilds: + if role_list is None: + role_list = self.config.authorized_roles + self.client.config.admin_roles + if guild is None: + guilds = self.client.guilds + else: + guilds = [guild] + for guild in guilds: if guild.get_member(user.id): for role_id in role_list: if role_id in [r.id for r in guild.get_member(user.id).roles]: