From eca82a80107d4fc04814ae476b95124d1ce7a8af Mon Sep 17 00:00:00 2001 From: Luca Matei Pintilie Date: Sat, 10 Aug 2024 12:28:31 +0200 Subject: Fix logic in removing alts --- cogs/src.py | 24 +++++++++++++++--------- 1 file changed, 15 insertions(+), 9 deletions(-) (limited to 'cogs') diff --git a/cogs/src.py b/cogs/src.py index 17f2141..20f6042 100755 --- a/cogs/src.py +++ b/cogs/src.py @@ -528,21 +528,27 @@ class Src(commands.Cog): ActiveRunnerRole = server.get_role(1271515943050412042) for key in alts_to_remove: + if key in keys_to_delete: + # Already deleted + continue + userID = int(key) + # If fetch_user call fails, delete the key + # If fetch_member fails, don't delete + # If it succeeds, remove rolls and delete try: user = await self.bot.fetch_user(userID) + try: + member = await server.fetch_member(key) + await member.remove_roles(RunnerRole) + await member.remove_roles(WrRole) + await member.remove_roles(ActiveRunnerRole) + except discord.NotFound: + # self.bot.logger.info(f"Didn't find user {key} in server. Not deleting") + continue except discord.NotFound: self.bot.logger.info(f"Didn't find user {key}. Deleting") - try: - member = await server.fetch_member(key) - await member.remove_roles(RunnerRole) - await member.remove_roles(WrRole) - await member.remove_roles(ActiveRunnerRole) - except discord.NotFound: - # self.bot.logger.info(f"Didn't find user {key} in server. Not deleting") - continue - id = str(key) if id in data.keys(): del data[id] -- cgit v1.2.3