From 7dcfd1aaf7444e12a20ea1634bac6703c464d496 Mon Sep 17 00:00:00 2001 From: zevaryx Date: Tue, 19 Apr 2022 12:05:15 -0600 Subject: [PATCH] Properly handle locked channel being deleted --- jarvis_tasks/tasks/lock.py | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/jarvis_tasks/tasks/lock.py b/jarvis_tasks/tasks/lock.py index 6c34020..1c56f83 100644 --- a/jarvis_tasks/tasks/lock.py +++ b/jarvis_tasks/tasks/lock.py @@ -14,22 +14,22 @@ from jarvis_tasks.util import runat async def _unlock(channel: GuildChannel, lock: Lock, logger: Logger) -> None: logger.debug(f"Deactivating lock {lock.id}") - overwrite = get(channel.permission_overwrites, id=lock.guild) - if overwrite and lock.original_perms: - overwrite.allow = lock.original_perms.allow - overwrite.deny = lock.original_perms.deny - try: - await channel.edit_permission(overwrite, reason="Automatic unlock") - except Exception: - logger.debug("Locked channel deleted, ignoring error") - elif overwrite and not lock.original_perms: - try: + try: + overwrite = get(channel.permission_overwrites, id=lock.guild) + if overwrite and lock.original_perms: + overwrite.allow = lock.original_perms.allow + overwrite.deny = lock.original_perms.deny + try: + await channel.edit_permission(overwrite, reason="Automatic unlock") + except Exception: + logger.debug("Locked channel deleted, ignoring error") + elif overwrite and not lock.original_perms: await channel.delete_permission(target=overwrite, reason="Automatic unlock") - except Exception: - logger.debug("Locked channel deleted, ignoring error") - else: - logger.debug("Permission neither exists not existed") - lock.active = False + else: + logger.debug("Permission neither exists not existed") + lock.active = False + except Exception: + logger.debug("Locked channel deleted, ignoring error") await lock.commit()