From 98f2b3b455f33548f685e90b6c8346be440df175 Mon Sep 17 00:00:00 2001 From: Luke Date: Mon, 4 Nov 2019 20:29:23 +0000 Subject: [PATCH] member_count tracking --- disco/state.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/disco/state.py b/disco/state.py index 28a54ff..c66759d 100644 --- a/disco/state.py +++ b/disco/state.py @@ -285,6 +285,11 @@ class State(object): if event.member.guild_id not in self.guilds: return + if (self.guilds[event.member.guild_id].member_count is not UNSET and + # Avoid adding duplicate events to member_count. + event.member.id not in self.guilds[event.member.guild_id].members): + self.guilds[event.member.guild_id].member_count += 1 + self.guilds[event.member.guild_id].members[event.member.id] = event.member def on_guild_member_update(self, event): @@ -303,6 +308,9 @@ class State(object): if event.user.id not in self.guilds[event.guild_id].members: return + if self.guilds[event.guild_id].member_count is not UNSET: + self.guilds[event.guild_id].member_count -= 1 + del self.guilds[event.guild_id].members[event.user.id] def on_guild_members_chunk(self, event):