Browse Source

member_count tracking

pull/165/head
Luke 5 years ago
parent
commit
98f2b3b455
  1. 8
      disco/state.py

8
disco/state.py

@ -285,6 +285,11 @@ class State(object):
if event.member.guild_id not in self.guilds: if event.member.guild_id not in self.guilds:
return 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 self.guilds[event.member.guild_id].members[event.member.id] = event.member
def on_guild_member_update(self, event): 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: if event.user.id not in self.guilds[event.guild_id].members:
return 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] del self.guilds[event.guild_id].members[event.user.id]
def on_guild_members_chunk(self, event): def on_guild_members_chunk(self, event):

Loading…
Cancel
Save