From b2ce5651eeccb6d87ecb510d9973662cc53cb43a Mon Sep 17 00:00:00 2001 From: H01001000 Date: Sat, 24 Dec 2022 02:20:12 +0800 Subject: [PATCH] fix: increase remaining after request without ratelimit header --- packages/rest/src/createQueueBucket.ts | 4 ++++ packages/rest/src/processRequestHeaders.ts | 13 +++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/packages/rest/src/createQueueBucket.ts b/packages/rest/src/createQueueBucket.ts index 4b1a99c72..bb3990d16 100644 --- a/packages/rest/src/createQueueBucket.ts +++ b/packages/rest/src/createQueueBucket.ts @@ -136,6 +136,10 @@ export function createQueueBucket ( }, handleCompletedRequest: function (headers) { + if (headers.max === 0) { + bucket.remaining++ + return + } bucket.max = headers.max bucket.interval = headers.interval bucket.remaining = headers.remaining diff --git a/packages/rest/src/processRequestHeaders.ts b/packages/rest/src/processRequestHeaders.ts index fe85358dc..daac9ff2a 100644 --- a/packages/rest/src/processRequestHeaders.ts +++ b/packages/rest/src/processRequestHeaders.ts @@ -13,17 +13,14 @@ export function processRequestHeaders ( const retryAfter = headers.get('x-ratelimit-reset-after') const reset = Date.now() + Number(retryAfter) * 1000 const global = headers.get('x-ratelimit-global') - const max = headers.get('x-ratelimit-limit') // undefined override null needed for typings const bucketId = headers.get('x-ratelimit-bucket') ?? undefined - if (max !== null) { - rest.pathQueues.get(url)?.handleCompletedRequest({ - remaining: Number(remaining), - interval: Number(retryAfter) * 1000, - max: Number(max) - }) - } + rest.pathQueues.get(url)?.handleCompletedRequest({ + remaining: Number(remaining), + interval: Number(retryAfter) * 1000, + max: Number(headers.get('x-ratelimit-limit')) + }) // IF THERE IS NO REMAINING RATE LIMIT, MARK IT AS RATE LIMITED if (remaining === '0') {