seyfert 3.2.4-dev-15814841418.0 → 3.2.4-dev-15826459558.0

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.
Files changed (2) hide show
  1. package/lib/api/api.js +10 -9
  2. package/package.json +1 -1
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 = Number(response.headers.get('x-ratelimit-reset-after') || response.headers.get('retry-after')) * 1000;
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
- try {
244
- retryAfter = JSON.parse(result).retry_after * 1000;
245
- }
246
- catch (err) {
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-dev-15814841418.0",
3
+ "version": "3.2.4-dev-15826459558.0",
4
4
  "description": "The most advanced framework for discord bots",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.js",