Browse Source

Add BeforeDelete to GuildDelete struct (#962)

vertex-admin 2 years ago
parent
commit
d655d6df7b
2 changed files with 8 additions and 0 deletions
  1. 1 0
      events.go
  2. 7 0
      state.go

+ 1 - 0
events.go

@@ -86,6 +86,7 @@ type GuildUpdate struct {
 // GuildDelete is the data for a GuildDelete event.
 type GuildDelete struct {
 	*Guild
+	BeforeDelete *Guild `json:"-"`
 }
 
 // GuildBanAdd is the data for a GuildBanAdd event.

+ 7 - 0
state.go

@@ -836,6 +836,13 @@ func (s *State) OnInterface(se *Session, i interface{}) (err error) {
 	case *GuildUpdate:
 		err = s.GuildAdd(t.Guild)
 	case *GuildDelete:
+		var old *Guild
+		old, err = s.Guild(t.ID)
+		if err == nil {
+			oldCopy := *old
+			t.BeforeDelete = &oldCopy
+		}
+
 		err = s.GuildRemove(t.Guild)
 	case *GuildMemberAdd:
 		// Updates the MemberCount of the guild.