disgroove 1.2.2 → 1.2.3-dev.a475da4

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.
@@ -2,7 +2,6 @@ import { File } from ".";
2
2
  export declare class RequestsManager {
3
3
  token: string;
4
4
  auth: "Bot" | "Bearer";
5
- rateLimits: Array<string>;
6
5
  globalBlock: boolean;
7
6
  constructor(token: string, auth: "Bot" | "Bearer");
8
7
  request<T = unknown>(method: string, endpoint: string, data?: {
@@ -8,13 +8,10 @@ const utils_1 = require("../utils");
8
8
  class RequestsManager {
9
9
  token;
10
10
  auth;
11
- rateLimits;
12
- globalBlock;
11
+ globalBlock = false;
13
12
  constructor(token, auth) {
14
13
  this.token = token;
15
14
  this.auth = auth;
16
- this.rateLimits = [];
17
- this.globalBlock = false;
18
15
  }
19
16
  request(method, endpoint, data) {
20
17
  return new Promise(async (resolve, reject) => {
@@ -29,6 +26,7 @@ class RequestsManager {
29
26
  }
30
27
  let headers = {
31
28
  Authorization: `${this.auth} ${this.token}`,
29
+ "User-Agent": `DiscordBot (https://github.com/XenKys/disgroove, 1.2.3-dev.a475da4)`,
32
30
  };
33
31
  let body;
34
32
  if (method !== _1.RESTMethods.Get) {
@@ -56,30 +54,18 @@ class RequestsManager {
56
54
  body,
57
55
  headers,
58
56
  });
59
- if (this.rateLimits.includes(response.headers.get("X-RateLimit-Bucket")))
60
- return;
61
- if (response.headers.has("X-RateLimit-Bucket") &&
62
- response.headers.get("X-RateLimit-Remaining") === "0" &&
63
- !this.rateLimits.includes(response.headers.get("X-RateLimit-Bucket"))) {
64
- this.rateLimits.push(response.headers.get("X-RateLimit-Bucket"));
57
+ if (response.headers.has("X-RateLimit-Global")) {
58
+ this.globalBlock = true;
65
59
  setTimeout(() => {
66
- this.rateLimits = this.rateLimits.filter((bucket) => bucket !== response.headers.get("X-RateLimit-Bucket"));
67
- }, Number(response.headers.get("X-RateLimit-Reset-After")) * 1000);
60
+ this.globalBlock = false;
61
+ this.request(method, endpoint, data).then(resolve).catch(reject);
62
+ }, Number(response.headers.get("Retry-After")) * 1000);
68
63
  }
69
64
  if (response.status >= constants_1.HTTPResponseCodes.NotModified) {
70
65
  if (response.status === constants_1.HTTPResponseCodes.TooManyRequests) {
71
- if (!this.rateLimits.includes(response.headers.get("X-RateLimit-Bucket")))
72
- this.rateLimits.push(response.headers.get("X-RateLimit-Bucket"));
73
- if (response.headers.has("X-RateLimit-Global")) {
74
- this.globalBlock = true;
75
- setTimeout(() => {
76
- this.globalBlock = false;
77
- this.rateLimits = this.rateLimits.filter((bucket) => bucket !== response.headers.get("X-RateLimit-Bucket"));
78
- this.request(method, endpoint, data)
79
- .then(resolve)
80
- .catch(reject);
81
- }, Number(response.headers.get("Retry-After")) * 1000);
82
- }
66
+ setTimeout(() => this.request(method, endpoint, data)
67
+ .then(resolve)
68
+ .catch(reject), Number(response.headers.get("Retry-After")) * 1000);
83
69
  }
84
70
  else if (response.status === constants_1.HTTPResponseCodes.GatewayUnavailable) {
85
71
  setTimeout(() => this.request(method, endpoint, data)
@@ -1 +1 @@
1
- {"version":3,"file":"RequestsManager.js","sourceRoot":"","sources":["../../src/rest/RequestsManager.ts"],"names":[],"mappings":";;;AAAA,wBAAsC;AACtC,mCAA6D;AAC7D,4CAAiD;AACjD,oCAAgD;AAEhD,MAAa,eAAe;IACnB,KAAK,CAAS;IACd,IAAI,CAAmB;IACvB,UAAU,CAAgB;IAC1B,WAAW,CAAU;IAE5B,YAAY,KAAa,EAAE,IAAsB;QAC/C,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,UAAU,GAAG,EAAE,CAAC;QACrB,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IAC3B,CAAC;IAEM,OAAO,CACZ,MAAc,EACd,QAAgB,EAChB,IAKC;QAED,OAAO,IAAI,OAAO,CAAI,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,IAAI,IAAI,CAAC,WAAW;gBAAE,OAAO;YAE7B,IAAI,GAAG,GAAQ,IAAI,GAAG,CAAC,+BAA+B,QAAQ,EAAE,CAAC,CAAC;YAElE,IAAI,IAAI,EAAE,KAAK,EAAE;gBACf,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE;oBACtD,IAAI,KAAK,KAAK,SAAS;wBAAE,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;iBAC3D;aACF;YAED,IAAI,OAAO,GAIP;gBACF,aAAa,EAAE,GAAG,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;aAC5C,CAAC;YACF,IAAI,IAAmC,CAAC;YAExC,IAAI,MAAM,KAAK,cAAW,CAAC,GAAG,EAAE;gBAC9B,IAAI,IAAI,EAAE,KAAK,IAAI,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,CAAC,EAAE;oBAC5C,MAAM,QAAQ,GAAG,IAAI,iBAAQ,EAAE,CAAC;oBAChC,MAAM,KAAK,GAAG,IAAI,EAAE,KAAK,CAAC;oBAE1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;wBAC3C,MAAM,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;wBAEtB,QAAQ,EAAE,GAAG,CACX,SAAS,CAAC,GAAG,EACb,IAAI,aAAU,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC,CAC3C,CAAC;qBACH;oBAED,IAAI,IAAI,EAAE,IAAI;wBACZ,QAAQ,EAAE,GAAG,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC;oBAE5D,IAAI,GAAG,QAAQ,CAAC;iBACjB;qBAAM;oBACL,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;oBAElC,OAAO,CAAC,cAAc,CAAC,GAAG,kBAAkB,CAAC;iBAC9C;gBAED,IAAI,IAAI,EAAE,MAAM,KAAK,SAAS;oBAC5B,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,EAAE,MAAM,CAAC;aAChD;YAED,IAAI;gBACF,MAAM,QAAQ,GAAG,MAAM,IAAA,cAAK,EAAC,GAAG,CAAC,IAAI,EAAE;oBACrC,MAAM;oBACN,IAAI;oBACJ,OAAO;iBACR,CAAC,CAAC;gBAEH,IACE,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAC;oBAErE,OAAO;gBAET,IACE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC;oBAC1C,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,KAAK,GAAG;oBACrD,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAC,EACtE;oBACA,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAC,CAAC;oBAElE,UAAU,CAAC,GAAG,EAAE;wBACd,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAClE,CAAC;oBACJ,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;iBACpE;gBAED,IAAI,QAAQ,CAAC,MAAM,IAAI,6BAAiB,CAAC,WAAW,EAAE;oBACpD,IAAI,QAAQ,CAAC,MAAM,KAAK,6BAAiB,CAAC,eAAe,EAAE;wBACzD,IACE,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CACvB,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAC5C;4BAED,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAE,CAAC,CAAC;wBAEpE,IAAI,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,EAAE;4BAC9C,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;4BAExB,UAAU,CAAC,GAAG,EAAE;gCACd,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;gCAEzB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CACtC,CAAC,MAAM,EAAE,EAAE,CACT,MAAM,KAAK,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CACxD,CAAC;gCACF,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;qCACpC,IAAI,CAAC,OAAO,CAAC;qCACb,KAAK,CAAC,MAAM,CAAC,CAAC;4BACnB,CAAC,EAAE,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;yBACxD;qBACF;yBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,6BAAiB,CAAC,kBAAkB,EAAE;wBACnE,UAAU,CACR,GAAG,EAAE,CACH,IAAI,CAAC,OAAO,CAAI,MAAM,EAAE,QAAQ,EAAE,IAAI,CAAC;6BACpC,IAAI,CAAC,OAAO,CAAC;6BACb,KAAK,CAAC,MAAM,CAAC,EAClB,CAAC,GAAG,IAAI,CACT,CAAC;qBACH;yBAAM;wBACL,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;wBAE3C,MAAM,CACJ,YAAY;4BACV,OAAO,YAAY,KAAK,QAAQ;4BAChC,MAAM,IAAI,YAAY;4BACtB,SAAS,IAAI,YAAY;4BACzB,YAAY,CAAC,IAAI,KAAK,CAAC;4BACvB,CAAC,CAAC,IAAI,iBAAS,CACX,IAAI,YAAY,CAAC,IAAI,KAAK,YAAY,CAAC,OAAO,EAAE,CACjD;4BACH,CAAC,CAAC,IAAI,iBAAS,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,QAAQ,CAAC,UAAU,EAAE,CAAC,CACjE,CAAC;qBACH;iBACF;qBAAM,IAAI,QAAQ,CAAC,MAAM,KAAK,6BAAiB,CAAC,SAAS,EAAE;oBAC1D,OAAO,CAAC,IAAS,CAAC,CAAC;iBACpB;qBAAM;oBACL,OAAO,CAAC,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAM,CAAC,CAAC;iBACvC;aACF;YAAC,OAAO,GAAG,EAAE;gBACZ,MAAM,CAAC,GAAG,CAAC,CAAC;aACb;QACH,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AA1JD,0CA0JC"}
1
+ {"version":3,"file":"RequestsManager.js","sourceRoot":"","sources":["../../src/rest/RequestsManager.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "disgroove",
3
- "version": "1.2.2",
3
+ "version": "1.2.3-dev.a475da4",
4
4
  "description": "An NPM package to interact with the Discord API",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",