forked from pothtonswer/discordmuffin
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.
|
// GuildMemberUpdate is the data for a GuildMemberUpdate event.
|
||||||
type GuildMemberUpdate struct {
|
type GuildMemberUpdate struct {
|
||||||
*Member
|
*Member
|
||||||
|
BeforeUpdate *Member `json:"-"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// GuildMemberRemove is the data for a GuildMemberRemove event.
|
// 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:
|
case *GuildMemberUpdate:
|
||||||
if s.TrackMembers {
|
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)
|
err = s.MemberAdd(t.Member)
|
||||||
}
|
}
|
||||||
case *GuildMemberRemove:
|
case *GuildMemberRemove:
|
||||||
|
|
Loading…
Reference in a new issue