From e794fb1c9a3496b3c51ec39f3bd0febefa89cfca Mon Sep 17 00:00:00 2001 From: Will Tekulve Date: Sun, 28 Feb 2016 20:24:26 -0500 Subject: [PATCH] add serverowner check and make modset owner only --- cogs/mod.py | 2 +- cogs/utils/checks.py | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/cogs/mod.py b/cogs/mod.py index fd44dcbdf..b1c7a6691 100644 --- a/cogs/mod.py +++ b/cogs/mod.py @@ -18,7 +18,7 @@ class Mod: self.filter = fileIO("data/mod/filter.json", "load") @commands.group(pass_context=True,no_pm=True) - @checks.admin_or_permissions(manage_server=True) + @checks.serverowner_or_permissions(manage_server=True) async def modset(self,ctx): """Manages server administration settings.""" if ctx.invoked_subcommand is None: diff --git a/cogs/utils/checks.py b/cogs/utils/checks.py index 961ccd717..3e8c59828 100644 --- a/cogs/utils/checks.py +++ b/cogs/utils/checks.py @@ -64,3 +64,14 @@ def admin_or_permissions(**perms): return role_or_permissions(ctx, lambda r: r.name.lower() == admin_role.lower(), **perms) return commands.check(predicate) + +def serverowner_or_permissions(**perms): + def predicate(ctx): + server = ctx.message.server + owner = server.owner + + if ctx.message.author.id == owner.id: + return True + + return check_permissions(ctx,perms) + return commands.check(predicate)