diff --git a/packages/bot/src/events.ts b/packages/bot/src/events.ts index 73c170644..bb78841de 100644 --- a/packages/bot/src/events.ts +++ b/packages/bot/src/events.ts @@ -136,8 +136,7 @@ export type EventHandlers, guildId: bigint) => unknown guildBanRemove: (user: SetupDesiredProps, guildId: bigint) => unknown guildCreate: (guild: SetupDesiredProps) => unknown - guildDelete: (id: bigint, shardId: number) => unknown - guildUnavailable: (id: bigint, shardId: number) => unknown + guildDelete: (data: { id: bigint; unavailable: boolean }, shardId: number) => unknown guildUpdate: (guild: SetupDesiredProps) => unknown raw: (data: DiscordGatewayPayload, shardId: number) => unknown roleCreate: (role: SetupDesiredProps) => unknown diff --git a/packages/bot/src/handlers/guilds/GUILD_DELETE.ts b/packages/bot/src/handlers/guilds/GUILD_DELETE.ts index 9f7ea880a..9c540955a 100644 --- a/packages/bot/src/handlers/guilds/GUILD_DELETE.ts +++ b/packages/bot/src/handlers/guilds/GUILD_DELETE.ts @@ -2,14 +2,15 @@ import type { DiscordGatewayPayload, DiscordUnavailableGuild } from '@discordeno import type { Bot } from '../../bot.js' export async function handleGuildDelete(bot: Bot, data: DiscordGatewayPayload, shardId: number): Promise { + if (!bot.events.guildDelete) return + const payload = data.d as DiscordUnavailableGuild - if (bot.events.guildUnavailable && payload.unavailable) { - bot.events.guildUnavailable(bot.transformers.snowflake(payload.id), shardId) - return - } - - if (bot.events.guildDelete) { - bot.events.guildDelete(bot.transformers.snowflake(payload.id), shardId) - } + bot.events.guildDelete( + { + id: bot.transformers.snowflake(payload.id), + unavailable: payload.unavailable ?? false, + }, + shardId, + ) }