From 6f4ac78c7a8e05d1cc602ae333963e2dd9d5c477 Mon Sep 17 00:00:00 2001 From: Elysia <71698422+aiko-chan-ai@users.noreply.github.com> Date: Tue, 8 Jul 2025 20:51:08 +0700 Subject: [PATCH] fix(ChannelManager): Remove threads from cache upon deletion backport #10883 --- src/managers/ChannelManager.js | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/managers/ChannelManager.js b/src/managers/ChannelManager.js index 9c2632e..695cc07 100644 --- a/src/managers/ChannelManager.js +++ b/src/managers/ChannelManager.js @@ -59,8 +59,17 @@ class ChannelManager extends CachedManager { _remove(id) { const channel = this.cache.get(id); channel?.guild?.channels.cache.delete(id); + for (const [code, invite] of channel?.guild?.invites.cache ?? []) { + if (invite.channelId === id) channel.guild.invites.cache.delete(code); + } channel?.parent?.threads?.cache.delete(id); this.cache.delete(id); + if (channel?.threads) { + for (const threadId of channel.threads.cache.keys()) { + this.cache.delete(threadId); + channel.guild?.channels.cache.delete(threadId); + } + } } /**