From d41f0ec7e06b7114fd9c91fc01d2e9ecabfdfdf7 Mon Sep 17 00:00:00 2001 From: Alexander Date: Sun, 1 Mar 2020 20:46:23 +0300 Subject: [PATCH 1/2] events: add BeforeDelete to MessageDelete --- events.go | 1 + 1 file changed, 1 insertion(+) diff --git a/events.go b/events.go index c416813..accad7e 100644 --- a/events.go +++ b/events.go @@ -169,6 +169,7 @@ type MessageUpdate struct { // MessageDelete is the data for a MessageDelete event. type MessageDelete struct { *Message + BeforeDelete *Message `json:"-"` } // MessageReactionAdd is the data for a MessageReactionAdd event. From 97c5e2f7dc1951041c9e2ed62ea0c00225c01524 Mon Sep 17 00:00:00 2001 From: Alexander Date: Sun, 1 Mar 2020 20:48:14 +0300 Subject: [PATCH 2/2] state: add filling out BeforeDelete before deleting message --- state.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/state.go b/state.go index 7babc11..55619ef 100644 --- a/state.go +++ b/state.go @@ -893,6 +893,13 @@ func (s *State) OnInterface(se *Session, i interface{}) (err error) { } case *MessageDelete: if s.MaxMessageCount != 0 { + var old *Message + old, err = s.Message(t.ChannelID, t.ID) + if err == nil { + oldCopy := *old + t.BeforeDelete = &oldCopy + } + err = s.MessageRemove(t.Message) } case *MessageDeleteBulk: