Skip to content

Commit f184824

Browse files
authored
Provide previous Member state for GuildMemberUpdate events (bwmarrin#1304)
1 parent 5e7e320 commit f184824

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

events.go

+1
Original file line numberDiff line numberDiff line change
@@ -150,6 +150,7 @@ type GuildMemberAdd struct {
150150
// GuildMemberUpdate is the data for a GuildMemberUpdate event.
151151
type GuildMemberUpdate struct {
152152
*Member
153+
BeforeUpdate *Member `json:"-"`
153154
}
154155

155156
// GuildMemberRemove is the data for a GuildMemberRemove event.

state.go

+7
Original file line numberDiff line numberDiff line change
@@ -983,6 +983,13 @@ func (s *State) OnInterface(se *Session, i interface{}) (err error) {
983983
}
984984
case *GuildMemberUpdate:
985985
if s.TrackMembers {
986+
var old *Member
987+
old, err = s.Member(t.GuildID, t.User.ID)
988+
if err == nil {
989+
oldCopy := *old
990+
t.BeforeUpdate = &oldCopy
991+
}
992+
986993
err = s.MemberAdd(t.Member)
987994
}
988995
case *GuildMemberRemove:

0 commit comments

Comments
 (0)