fix: Remove trailing invites on channel deletion (#7932)

This commit is contained in:
Jiralite
2022-05-16 11:13:02 +01:00
committed by GitHub
parent 28172ca7b5
commit 5e9b757a37
2 changed files with 6 additions and 0 deletions

View File

@@ -61,6 +61,11 @@ 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);
}

View File

@@ -429,6 +429,7 @@ class GuildChannelManager extends CachedManager {
const id = this.resolveId(channel);
if (!id) throw new TypeError('INVALID_TYPE', 'channel', 'GuildChannelResolvable');
await this.client.rest.delete(Routes.channel(id), { reason });
this.client.actions.ChannelDelete.handle({ id });
}
}