From b5007c0df3c745f368500d52de22bfa48a839dda Mon Sep 17 00:00:00 2001 From: Conatum Date: Sun, 1 Oct 2023 13:46:06 +0300 Subject: [PATCH] fix(ranks): Remove guild assumption in events. --- src/modules/ranks/cog.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/modules/ranks/cog.py b/src/modules/ranks/cog.py index 76e615bf..4940d249 100644 --- a/src/modules/ranks/cog.py +++ b/src/modules/ranks/cog.py @@ -269,6 +269,9 @@ class RankCog(LionCog): Handle batch of completed message sessions. """ for guildid, userid, messages, guild_xp in session_data: + if not self.bot.get_guild(guildid): + # Ignore guilds we have left + continue lguild = await self.bot.core.lions.fetch_guild(guildid) rank_type = lguild.config.get('rank_type').value if rank_type in (RankType.MESSAGE, RankType.XP): @@ -542,6 +545,9 @@ class RankCog(LionCog): @log_wrap(action="Voice Rank Hook") async def on_voice_session_complete(self, *session_data): for guildid, userid, duration, guild_xp in session_data: + if not self.bot.get_guild(guildid): + # Ignore guilds we have left + continue lguild = await self.bot.core.lions.fetch_guild(guildid) unranked_role_setting = await self.bot.get_cog('StatsCog').settings.UnrankedRoles.get(guildid) unranked_roleids = set(unranked_role_setting.data)