seyfert 3.2.4-dev-15814841418.0 → 3.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/api/api.js +10 -9
- package/package.json +2 -2
package/lib/api/api.js
CHANGED
|
@@ -238,16 +238,17 @@ class ApiHandler {
|
|
|
238
238
|
async handle429(route, method, url, request, response, result, next, reject, now) {
|
|
239
239
|
await this.onRatelimit?.(response, request);
|
|
240
240
|
const content = `${JSON.stringify(request)} `;
|
|
241
|
-
let retryAfter
|
|
241
|
+
let retryAfter;
|
|
242
|
+
const data = JSON.parse(result);
|
|
243
|
+
if (data.retry_after)
|
|
244
|
+
retryAfter = Math.ceil(data.retry_after * 1000);
|
|
245
|
+
retryAfter ??=
|
|
246
|
+
Number(response.headers.get('x-ratelimit-reset-after') || response.headers.get('retry-after')) * 1000;
|
|
242
247
|
if (Number.isNaN(retryAfter)) {
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
this.debugger?.warn(`Unexpected error: ${err}`);
|
|
248
|
-
reject(err);
|
|
249
|
-
return false;
|
|
250
|
-
}
|
|
248
|
+
this.debugger?.warn(`${route} Could not extract retry_after from 429 response. ${result}`);
|
|
249
|
+
next();
|
|
250
|
+
reject(new Error('Could not extract retry_after from 429 response.'));
|
|
251
|
+
return false;
|
|
251
252
|
}
|
|
252
253
|
this.debugger?.info(`${response.headers.get('x-ratelimit-global') ? 'Global' : 'Unexpected'} 429: ${result.slice(0, 256)}\n${content} ${now} ${route} ${response.status}: ${this.ratelimits.get(route).remaining}/${this.ratelimits.get(route).limit} left | Reset ${retryAfter} (${this.ratelimits.get(route).reset - now}ms left) | Scope ${response.headers.get('x-ratelimit-scope')}`);
|
|
253
254
|
if (retryAfter) {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "seyfert",
|
|
3
|
-
"version": "3.2.4
|
|
3
|
+
"version": "3.2.4",
|
|
4
4
|
"description": "The most advanced framework for discord bots",
|
|
5
5
|
"main": "./lib/index.js",
|
|
6
6
|
"module": "./lib/index.js",
|
|
@@ -70,4 +70,4 @@
|
|
|
70
70
|
"esbuild"
|
|
71
71
|
]
|
|
72
72
|
}
|
|
73
|
-
}
|
|
73
|
+
}
|