Provide previous Member state for GuildMemberUpdate events (#1304)
This commit is contained in:
parent
5e7e320c89
commit
f184824b8c
2 changed files with 8 additions and 0 deletions
|
@ -150,6 +150,7 @@ type GuildMemberAdd struct {
|
|||
// GuildMemberUpdate is the data for a GuildMemberUpdate event.
|
||||
type GuildMemberUpdate struct {
|
||||
*Member
|
||||
BeforeUpdate *Member `json:"-"`
|
||||
}
|
||||
|
||||
// GuildMemberRemove is the data for a GuildMemberRemove event.
|
||||
|
|
7
state.go
7
state.go
|
@ -983,6 +983,13 @@ func (s *State) OnInterface(se *Session, i interface{}) (err error) {
|
|||
}
|
||||
case *GuildMemberUpdate:
|
||||
if s.TrackMembers {
|
||||
var old *Member
|
||||
old, err = s.Member(t.GuildID, t.User.ID)
|
||||
if err == nil {
|
||||
oldCopy := *old
|
||||
t.BeforeUpdate = &oldCopy
|
||||
}
|
||||
|
||||
err = s.MemberAdd(t.Member)
|
||||
}
|
||||
case *GuildMemberRemove:
|
||||
|
|
Loading…
Reference in a new issue