From d6f9ddc3afe00ac1e8b4925a73f6783a3f497b9e Mon Sep 17 00:00:00 2001 From: jack1142 <6032823+jack1142@users.noreply.github.com> Date: Sat, 29 Feb 2020 16:00:19 +0100 Subject: [PATCH] Check permissions before trying to clear reactions (#3589) --- redbot/core/utils/menus.py | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/redbot/core/utils/menus.py b/redbot/core/utils/menus.py index 6285c0e70..75593a682 100644 --- a/redbot/core/utils/menus.py +++ b/redbot/core/utils/menus.py @@ -96,10 +96,18 @@ async def menu( ) except asyncio.TimeoutError: try: - await message.clear_reactions() - except discord.Forbidden: # cannot remove all reactions + if message.channel.permissions_for(ctx.me).manage_messages: + await message.clear_reactions() + else: + raise RuntimeError + except (discord.Forbidden, RuntimeError): # cannot remove all reactions for key in controls.keys(): - await message.remove_reaction(key, ctx.bot.user) + try: + await message.remove_reaction(key, ctx.bot.user) + except discord.Forbidden: + return + except discord.HTTPException: + pass except discord.NotFound: return else: