From a5f2c960a6b44b28f252fc25f782ce45d58ddc65 Mon Sep 17 00:00:00 2001 From: Braindead Date: Mon, 25 May 2020 18:17:27 +0200 Subject: [PATCH] Fixed critical bug when removing expired licenses. The loop would stop if Forbidden happens, meaning all other members down the line won't get checked for role expiration. Fixed now by adding Exception for all cases. --- cogs/licenses.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/cogs/licenses.py b/cogs/licenses.py index 6b476c5..d5c5e73 100644 --- a/cogs/licenses.py +++ b/cogs/licenses.py @@ -65,7 +65,10 @@ async def check_all_active_licenses(self): "Removing all entries of it from database!") await self.bot.main_db.remove_all_guild_data(member_guild_id, guild_table_too=True) logger.info(f"Successfully deleted all database data for guild {member_guild_id}") - return + continue + except Exception as e3: + logger.warning(f"Can't remove role {licensed_role_id } from member {member_id } guild {member_guild_id }, ignoring error: {e3}") + continue await self.bot.main_db.delete_licensed_member(member_id, licensed_role_id) logger.info(f"Role {licensed_role_id} successfully removed from member:{member_id}")