From 8b15053dd48e55cb19feaedd24cf709c0b3722f0 Mon Sep 17 00:00:00 2001 From: Michael H Date: Fri, 8 Jun 2018 20:27:07 -0400 Subject: [PATCH] [V3 Mod/Modlog] prevent self-casing the bot + feedback for heirarchy (#1777) * prevent the bot from being a modlog target * prevent heirarchy issues in mod * modify this comparison to avoid more complex mocking of the guild object in mod test * spelling --- redbot/cogs/mod/mod.py | 6 ++++++ redbot/core/modlog.py | 3 +++ 2 files changed, 9 insertions(+) diff --git a/redbot/cogs/mod/mod.py b/redbot/cogs/mod/mod.py index d1241c38f..9735a7c18 100644 --- a/redbot/cogs/mod/mod.py +++ b/redbot/cogs/mod/mod.py @@ -316,6 +316,9 @@ class Mod: ) ) return + elif ctx.guild.me.top_role <= user.top_role or user == ctx.guild.owner: + await ctx.send(_("I cannot do that due to discord hierarchy rules")) + return audit_reason = get_audit_reason(author, reason) try: await guild.kick(user, reason=audit_reason) @@ -369,6 +372,9 @@ class Mod: ) ) return + elif ctx.guild.me.top_role <= user.top_role or user == ctx.guild.owner: + await ctx.send(_("I cannot do that due to discord hierarchy rules")) + return if days: if days.isdigit(): diff --git a/redbot/core/modlog.py b/redbot/core/modlog.py index 62e676a78..f4f8af431 100644 --- a/redbot/core/modlog.py +++ b/redbot/core/modlog.py @@ -461,6 +461,9 @@ async def create_case( if not await case_type.is_enabled(): return None + if user == bot.user: + return None + next_case_number = int(await get_next_case_number(guild)) case = Case(