From 1214040d19838d4687272081243c6580f20bc69c Mon Sep 17 00:00:00 2001 From: ITOH Date: Wed, 21 Jul 2021 15:53:18 +0200 Subject: [PATCH] fix(handlers): dispatched guilds shall not emit guild create on shard resume --- src/handlers/guilds/GUILD_CREATE.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/handlers/guilds/GUILD_CREATE.ts b/src/handlers/guilds/GUILD_CREATE.ts index 12d945bcc..a4145e8a2 100644 --- a/src/handlers/guilds/GUILD_CREATE.ts +++ b/src/handlers/guilds/GUILD_CREATE.ts @@ -10,7 +10,11 @@ import { guildAvailable } from "../misc/READY.ts"; export async function handleGuildCreate(data: DiscordGatewayPayload, shardId: number) { const payload = data.d as Guild; // When shards resume they emit GUILD_CREATE again. - if (await cacheHandlers.has("guilds", snowflakeToBigint(payload.id))) return; + if ( + (await cacheHandlers.has("guilds", snowflakeToBigint(payload.id))) || + cache.dispatchedGuildIds.has(snowflakeToBigint(payload.id)) + ) + return; const guild = await structures.createDiscordenoGuild(payload, shardId); await cacheHandlers.set("guilds", guild.id, guild);