diff --git a/packages/bot/src/bot.ts b/packages/bot/src/bot.ts index 9b267e27d..ad2537db9 100644 --- a/packages/bot/src/bot.ts +++ b/packages/bot/src/bot.ts @@ -196,6 +196,7 @@ export interface EventHandlers { guildBanRemove: (user: User, guildId: bigint) => unknown guildCreate: (guild: Guild) => unknown guildDelete: (id: bigint, shardId: number) => unknown + guildUnavailable: (id: bigint, shardId: number) => unknown guildUpdate: (guild: Guild) => unknown raw: (data: DiscordGatewayPayload, shardId: number) => unknown roleCreate: (role: Role) => unknown diff --git a/packages/bot/src/handlers/guilds/GUILD_DELETE.ts b/packages/bot/src/handlers/guilds/GUILD_DELETE.ts index 3db895c0a..b43402094 100644 --- a/packages/bot/src/handlers/guilds/GUILD_DELETE.ts +++ b/packages/bot/src/handlers/guilds/GUILD_DELETE.ts @@ -3,5 +3,8 @@ import type { Bot } from '../../bot.js' export async function handleGuildDelete(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise { const payload = data.d as DiscordUnavailableGuild + + if (payload.unavailable) return bot.events.guildUnavailable?.(bot.transformers.snowflake(payload.id), shardId); + bot.events.guildDelete?.(bot.transformers.snowflake(payload.id), shardId) }