track membercount on memberAdd and leave (#602)
* track membercount on memberAdd and leave * requested changes
This commit is contained in:
parent
c8554477e4
commit
8fb9c2a11d
1 changed files with 16 additions and 0 deletions
16
state.go
16
state.go
|
@ -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)
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue