From a58aebe2181ce382357cb1693665d17b72d8d4d3 Mon Sep 17 00:00:00 2001 From: Twentysix Date: Mon, 29 Feb 2016 18:06:56 +0100 Subject: [PATCH] Fix to !help failing in DM --- cogs/mod.py | 1 + cogs/utils/checks.py | 2 ++ cogs/utils/settings.py | 14 ++++++++------ 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/cogs/mod.py b/cogs/mod.py index 6a466b9fb..c29a981fd 100644 --- a/cogs/mod.py +++ b/cogs/mod.py @@ -380,6 +380,7 @@ class Mod: @commands.group(no_pm=True, pass_context=True) @checks.admin_or_permissions(manage_roles=True) async def editrole(self, ctx): + """Edits roles settings""" if ctx.invoked_subcommand is None: await send_cmd_help(ctx) diff --git a/cogs/utils/checks.py b/cogs/utils/checks.py index 3e8c59828..93db44396 100644 --- a/cogs/utils/checks.py +++ b/cogs/utils/checks.py @@ -67,6 +67,8 @@ def admin_or_permissions(**perms): def serverowner_or_permissions(**perms): def predicate(ctx): + if ctx.message.server is None: + return False server = ctx.message.server owner = server.owner diff --git a/cogs/utils/settings.py b/cogs/utils/settings.py index 06cbdbfed..bb5ce3cbc 100644 --- a/cogs/utils/settings.py +++ b/cogs/utils/settings.py @@ -107,38 +107,40 @@ class Settings: return ret def get_server(self,server): + if server is None: + return self.bot_settings["default"].copy() assert isinstance(server,discord.Server) return self.bot_settings.get(server.id,self.bot_settings["default"]).copy() def get_server_admin(self,server): - assert isinstance(server,discord.Server) if server is None: - return + return self.default_admin + assert isinstance(server,discord.Server) if server.id not in self.bot_settings: return self.default_admin return self.bot_settings[server.id].get("ADMIN_ROLE","") def set_server_admin(self,server,value): - assert isinstance(server,discord.Server) if server is None: return + assert isinstance(server,discord.Server) if server.id not in self.bot_settings: self.add_server(server.id) self.bot_settings[server.id]["ADMIN_ROLE"] = value self.save_settings() def get_server_mod(self,server): - assert isinstance(server,discord.Server) if server is None: - return + return self.default_mod + assert isinstance(server,discord.Server) if server.id not in self.bot_settings: return self.default_mod return self.bot_settings[server.id].get("MOD_ROLE","") def set_server_mod(self,server,value): - assert isinstance(server,discord.Server) if server is None: return + assert isinstance(server,discord.Server) if server.id not in self.bot_settings: self.add_server(server.id) self.bot_settings[server.id]["MOD_ROLE"] = value