track membercount on memberAdd and leave (#602)

* track membercount on memberAdd and leave

* requested changes
This commit is contained in:
Soumil07 2018-10-24 21:00:37 +05:30 committed by Chris Rhodes
parent c8554477e4
commit 8fb9c2a11d

View file

@ -814,6 +814,14 @@ func (s *State) OnInterface(se *Session, i interface{}) (err error) {
case *GuildDelete:
err = s.GuildRemove(t.Guild)
case *GuildMemberAdd:
// Updates the MemberCount of the guild.
guild, err := s.Guild(t.Member.GuildID)
if err != nil {
return err
}
guild.MemberCount++
// Caches member if tracking is enabled.
if s.TrackMembers {
err = s.MemberAdd(t.Member)
}
@ -822,6 +830,14 @@ func (s *State) OnInterface(se *Session, i interface{}) (err error) {
err = s.MemberAdd(t.Member)
}
case *GuildMemberRemove:
// Updates the MemberCount of the guild.
guild, err := s.Guild(t.Member.GuildID)
if err != nil {
return err
}
guild.MemberCount--
// Removes member from the cache if tracking is enabled.
if s.TrackMembers {
err = s.MemberRemove(t.Member)
}