From 1c8442eb39fd4785efbd45459753e50d28358f7f Mon Sep 17 00:00:00 2001 From: Skillz Date: Sun, 20 Aug 2023 11:24:38 -0500 Subject: [PATCH] fix: broken nonce on large guild ids Closes #3066 --- packages/gateway/src/Shard.ts | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/packages/gateway/src/Shard.ts b/packages/gateway/src/Shard.ts index 8f066eb03..aebf7107c 100644 --- a/packages/gateway/src/Shard.ts +++ b/packages/gateway/src/Shard.ts @@ -704,8 +704,6 @@ export class DiscordenoShard { options.limit = options.userIds.length } - const nonce = `${guildId}-${Date.now()}` - // Gateway does not require caching these requests so directly send and return if (!this.cache.requestMembers?.enabled) { logger.debug(`[Shard] requestMembers guildId: ${guildId} -> skipping cache -> options ${JSON.stringify(options)}`) @@ -718,14 +716,14 @@ export class DiscordenoShard { limit: options?.limit ?? 0, presences: options?.presences ?? false, user_ids: options?.userIds?.map((id) => id.toString()), - nonce, + nonce: options?.nonce, }, }) return [] } return await new Promise((resolve) => { - this.cache.requestMembers?.pending.set(nonce, { nonce, resolve, members: [] }) + if (options?.nonce) this.cache.requestMembers?.pending.set(options.nonce, { nonce: options.nonce, resolve, members: [] }) logger.debug(`[Shard] requestMembers guildId: ${guildId} -> requesting members -> data: ${JSON.stringify(options)}`) this.send({ @@ -737,7 +735,7 @@ export class DiscordenoShard { limit: options?.limit ?? 0, presences: options?.presences ?? false, user_ids: options?.userIds?.map((id) => id.toString()), - nonce, + nonce: options?.nonce, }, }) })