diff --git a/index.js b/index.js index 3d7c9ef..251046c 100644 --- a/index.js +++ b/index.js @@ -332,6 +332,9 @@ class PearcordGuild extends EventEmitter { this.emit('guild-update', payload) }).catch(() => {}) } + if (method === RPC.GUILD_DELETE) { + this._ingestGuildDelete(payload).catch(() => {}) + } if (method === RPC.MEMBER_KICK) { this.db.delete(COLLECTIONS.MEMBERS, { guildId: payload.guildId, @@ -711,6 +714,24 @@ class PearcordGuild extends EventEmitter { broadcastGossip(this, RPC.GUILD_UPDATE, guild) } + gossipGuildDelete (payload) { + return broadcastGossip(this, RPC.GUILD_DELETE, payload) + } + + async _ingestGuildDelete (payload) { + const guildId = payload?.guildId || payload?.id + if (!guildId) return + if (this.guild?.id === guildId) { + this.guild = null + } + this.emit('guild-delete', { + guildId, + deletedAt: payload?.deletedAt || Date.now(), + deletedBy: payload?.deletedBy || null, + name: payload?.name || null + }) + } + gossipKick (payload) { broadcastGossip(this, RPC.MEMBER_KICK, payload) }