Handle locked channel being deleted

This commit is contained in:
Zeva Rose 2022-04-19 12:02:07 -06:00
parent 8a197a841d
commit b8c64bae31

View file

@ -18,9 +18,15 @@ async def _unlock(channel: GuildChannel, lock: Lock, logger: Logger) -> None:
if overwrite and lock.original_perms:
overwrite.allow = lock.original_perms.allow
overwrite.deny = lock.original_perms.deny
await channel.edit_permission(overwrite, reason="Automatic unlock")
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")
try:
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