From b1ce5121f9667f1a1fb1aec53298796002487e50 Mon Sep 17 00:00:00 2001 From: Raven Scott Date: Mon, 1 Jun 2026 15:22:43 -0400 Subject: [PATCH] feat(guild): gossip and ingest GUILD_DELETE on mesh Co-authored-by: Cursor --- index.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) 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) }