From 6c1753d5d2258bf618bd20d343d20e104120f46a Mon Sep 17 00:00:00 2001 From: Zevaryx Date: Tue, 19 Apr 2022 16:01:29 -0600 Subject: [PATCH] Silently ignore db deletion errors, closes #134 --- jarvis/cogs/admin/roleping.py | 8 +++++++- jarvis/cogs/remindme.py | 4 ++-- jarvis/cogs/starboard.py | 5 ++++- jarvis/cogs/twitter.py | 5 ++++- 4 files changed, 17 insertions(+), 5 deletions(-) diff --git a/jarvis/cogs/admin/roleping.py b/jarvis/cogs/admin/roleping.py index e1ead45..7f62bf7 100644 --- a/jarvis/cogs/admin/roleping.py +++ b/jarvis/cogs/admin/roleping.py @@ -67,7 +67,10 @@ class RolepingCog(Scale): await ctx.send("Roleping does not exist", ephemeral=True) return - await roleping.delete() + try: + await roleping.delete() + except Exception: + self.logger.debug("Ignoring deletion error") await ctx.send(f"Role `{role.name}` removed from roleping.") @roleping.subcommand(sub_cmd_name="list", sub_cmd_description="Lick all blocklisted roles") @@ -190,6 +193,9 @@ class RolepingCog(Scale): async def _roleping_bypass_role( self, ctx: InteractionContext, bypass: Role, role: Role ) -> None: + if bypass.id == ctx.guild.id: + await ctx.send("Cannot add `@everyone` as a bypass", ephemeral=True) + return roleping = await Roleping.find_one(q(guild=ctx.guild.id, role=role.id)) if not roleping: await ctx.send(f"Roleping not configured for {role.mention}", ephemeral=True) diff --git a/jarvis/cogs/remindme.py b/jarvis/cogs/remindme.py index 54a51fc..9623d5a 100644 --- a/jarvis/cogs/remindme.py +++ b/jarvis/cogs/remindme.py @@ -279,7 +279,7 @@ class RemindmeCog(Scale): try: await reminder.delete() except Exception: - pass # Silently drop error + self.logger.debug("Ignoring deletion error") for row in components: for component in row.components: @@ -333,7 +333,7 @@ class RemindmeCog(Scale): try: await reminder.delete() except Exception: - pass # Silently drop error + self.logger.debug("Ignoring deletion error") def setup(bot: Snake) -> None: diff --git a/jarvis/cogs/starboard.py b/jarvis/cogs/starboard.py index 35516a0..e285b4e 100644 --- a/jarvis/cogs/starboard.py +++ b/jarvis/cogs/starboard.py @@ -141,7 +141,10 @@ class StarboardCog(Scale): to_delete.append(starboard) for starboard in to_delete: - await starboard.delete() + try: + await starboard.delete() + except Exception: + self.logger.debug("Ignoring deletion error") select_channels = [] for idx, x in enumerate(channel_list): diff --git a/jarvis/cogs/twitter.py b/jarvis/cogs/twitter.py index d3e7af4..6bc5416 100644 --- a/jarvis/cogs/twitter.py +++ b/jarvis/cogs/twitter.py @@ -150,7 +150,10 @@ class TwitterCog(Scale): ) for to_delete in context.context.values: follow = get(twitters, guild=ctx.guild.id, twitter_id=int(to_delete)) - await follow.delete() + try: + await follow.delete() + except Exception: + self.logger.debug("Ignoring deletion error") for row in components: for component in row.components: component.disabled = True