cloudstorm 0.4.3 → 0.5.2

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/README.md CHANGED
@@ -47,6 +47,12 @@ So an event you receive may look like this:
47
47
  }
48
48
  }
49
49
  ```
50
+
51
+ ## Sharding for VERY large bots
52
+ CloudStorm supports max_concurrency, but does not automatically attempt to fetch new info related to max_concurrency. You are expected to re-fetch this data at your own discretion as Discord does not recommend caching the data for extended periods as it can change as your client leaves and joins guilds and possibly cause rate limit errors.
53
+
54
+ You should start your clusters 1 by 1 as rate limit info is only fetched on Client.connect or when you manually call Client.fetchConnectInfo when /gateway/bot is fetched
55
+
50
56
  ### Microservice Bots:
51
57
  I've written a general whitepaper on the idea of microservice bots, which you can find on gist: [Microservice Bot Whitepaper](https://gist.github.com/DasWolke/c9d7dfe6a78445011162a12abd32091d)
52
58
 
package/dist/Client.d.ts CHANGED
@@ -54,13 +54,20 @@ declare class Client extends EventEmitter {
54
54
  * @returns This function returns a promise which is solely used for awaiting the getGateway() method's return value.
55
55
  */
56
56
  connect(): Promise<void>;
57
+ /**
58
+ * Method to grab initial connection info from Discord.
59
+ * Should only be called automatically by the lib unless you are a large bot with a max_concurrency not equal to 1.
60
+ * If you are a large bot, you should call this method at a rate of your own discretion to update your max_concurrency cached value to have up to date bucket info.
61
+ * @returns The amount of shards the bot should spawn if set to auto.
62
+ */
63
+ fetchConnectInfo(): Promise<number>;
57
64
  /**
58
65
  * Get the gateway endpoint to connect to.
59
66
  * @returns String url with the Gateway Endpoint to connect to.
60
67
  */
61
68
  getGateway(): Promise<string>;
62
69
  /**
63
- * Get the GatewayData including recommended amount of shards.
70
+ * Get the GatewayData including recommended amount of shards and other helpful info.
64
71
  * @returns Object with url and shards to use to connect to discord.
65
72
  */
66
73
  getGatewayBot(): Promise<{
package/dist/Client.js CHANGED
@@ -7,6 +7,7 @@ const events_1 = require("events");
7
7
  const Constants_1 = __importDefault(require("./Constants"));
8
8
  const snowtransfer_1 = require("snowtransfer");
9
9
  const ShardManager_1 = __importDefault(require("./ShardManager"));
10
+ const RatelimitBucket_1 = __importDefault(require("./structures/RatelimitBucket"));
10
11
  /**
11
12
  * Main class used for receiving events and interacting with the Discord gateway.
12
13
  */
@@ -21,9 +22,7 @@ class Client extends events_1.EventEmitter {
21
22
  throw new Error("Missing token!");
22
23
  this.options = {
23
24
  largeGuildThreshold: 250,
24
- firstShardId: 0,
25
- lastShardId: 0,
26
- shardAmount: 1,
25
+ shards: "auto",
27
26
  reconnect: true,
28
27
  intents: 0,
29
28
  token: "",
@@ -45,10 +44,40 @@ class Client extends events_1.EventEmitter {
45
44
  * @returns This function returns a promise which is solely used for awaiting the getGateway() method's return value.
46
45
  */
47
46
  async connect() {
48
- const gateway = await this.getGateway();
49
- this._updateEndpoint(gateway);
47
+ const initial = await this.fetchConnectInfo();
48
+ if (this.options.shards === "auto")
49
+ this.options.totalShards = initial;
50
50
  this.shardManager.spawn();
51
51
  }
52
+ /**
53
+ * Method to grab initial connection info from Discord.
54
+ * Should only be called automatically by the lib unless you are a large bot with a max_concurrency not equal to 1.
55
+ * If you are a large bot, you should call this method at a rate of your own discretion to update your max_concurrency cached value to have up to date bucket info.
56
+ * @returns The amount of shards the bot should spawn if set to auto.
57
+ */
58
+ async fetchConnectInfo() {
59
+ const gateway = await this.getGatewayBot();
60
+ this._updateEndpoint(gateway.url);
61
+ const oldQueueConcurrency = [];
62
+ const oldQueueIdentify = [];
63
+ if (this.shardManager.concurrencyBucket && this.shardManager.concurrencyBucket.fnQueue.length) {
64
+ oldQueueConcurrency.push(...this.shardManager.concurrencyBucket.fnQueue.map(i => [i.fn, i.callback]));
65
+ this.shardManager.concurrencyBucket.dropQueue();
66
+ }
67
+ if (this.shardManager.identifyBucket.fnQueue.length)
68
+ oldQueueIdentify.push(...this.shardManager.identifyBucket.fnQueue.map(i => [i.fn, i.callback]));
69
+ this.shardManager.identifyBucket.dropQueue();
70
+ this.shardManager.concurrencyBucket = new RatelimitBucket_1.default(gateway.session_start_limit.max_concurrency, 5000);
71
+ this.shardManager.identifyBucket.remaining = gateway.session_start_limit.remaining;
72
+ this.shardManager.identifyBucket.limitReset = gateway.session_start_limit.reset_after;
73
+ for (const [fn, callback] of oldQueueConcurrency) {
74
+ this.shardManager.concurrencyBucket.queue(fn).then(callback);
75
+ }
76
+ for (const [fn, callback] of oldQueueIdentify) {
77
+ this.shardManager.identifyBucket.queue(fn).then(callback);
78
+ }
79
+ return gateway.shards;
80
+ }
52
81
  /**
53
82
  * Get the gateway endpoint to connect to.
54
83
  * @returns String url with the Gateway Endpoint to connect to.
@@ -58,7 +87,7 @@ class Client extends events_1.EventEmitter {
58
87
  return gatewayData.url;
59
88
  }
60
89
  /**
61
- * Get the GatewayData including recommended amount of shards.
90
+ * Get the GatewayData including recommended amount of shards and other helpful info.
62
91
  * @returns Object with url and shards to use to connect to discord.
63
92
  */
64
93
  async getGatewayBot() {
@@ -1,5 +1,5 @@
1
- /// <reference types="node" />
2
1
  import Shard from "./Shard";
2
+ import RatelimitBucket from "./structures/RatelimitBucket";
3
3
  /**
4
4
  * Class used for managing shards for the user.
5
5
  *
@@ -11,12 +11,8 @@ declare class ShardManager {
11
11
  shards: {
12
12
  [id: number]: Shard;
13
13
  };
14
- connectQueue: Array<{
15
- action: string;
16
- shard: Shard;
17
- }>;
18
- lastConnectionAttempt: number | null;
19
- connectQueueInterval: NodeJS.Timeout;
14
+ identifyBucket: RatelimitBucket;
15
+ concurrencyBucket: RatelimitBucket | null;
20
16
  static readonly default: typeof ShardManager;
21
17
  /**
22
18
  * Create a new ShardManager.
@@ -30,15 +26,6 @@ declare class ShardManager {
30
26
  * Disconnect all shards facilitated by this manager.
31
27
  */
32
28
  disconnect(): void;
33
- /**
34
- * Actually connect/re-identify a single shard spawned by this manager by calling it's connect() or identify() method and reset the connection timer.
35
- * @param data Object with a shard and action key.
36
- */
37
- private _connectShard;
38
- /**
39
- * Check if there are shards that have been spawned by this manager that are not connected yet and connect them if over 6 seconds have passed since the last attempt.
40
- */
41
- private _checkQueue;
42
29
  /**
43
30
  * Add event listeners to a shard to that the manager can act on received events.
44
31
  * @param shard Shard to add the event listeners to.
@@ -3,6 +3,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
3
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
4
  };
5
5
  const Shard_1 = __importDefault(require("./Shard"));
6
+ const RatelimitBucket_1 = __importDefault(require("./structures/RatelimitBucket"));
6
7
  /**
7
8
  * Class used for managing shards for the user.
8
9
  *
@@ -13,28 +14,23 @@ class ShardManager {
13
14
  * Create a new ShardManager.
14
15
  */
15
16
  constructor(client) {
17
+ this.concurrencyBucket = null;
16
18
  this.client = client;
17
19
  this.options = client.options;
18
- if (!this.options.connectQueueInterval)
19
- this.options.connectQueueInterval = 1000 * 5;
20
20
  this.shards = {};
21
- this.connectQueue = [];
22
- this.lastConnectionAttempt = null;
23
- this.connectQueueInterval = setInterval(() => {
24
- this._checkQueue();
25
- }, this.options.connectQueueInterval);
21
+ this.identifyBucket = new RatelimitBucket_1.default(1000, 1000 * 60 * 60 * 24, 1000 * 60 * 60 * 24);
26
22
  }
27
23
  /**
28
24
  * Create shard instances and add them to the connection queue.
29
25
  */
30
26
  spawn() {
31
- const firstShardID = this.options.firstShardId ? this.options.firstShardId : 0;
32
- const lastShardId = this.options.lastShardId ? this.options.lastShardId : 0;
33
- for (let i = firstShardID; i < lastShardId + 1; i++) {
34
- this.client.emit("debug", `Spawned shard ${i}`);
35
- this.shards[i] = new Shard_1.default(i, this.client);
36
- this.connectQueue.push({ action: "connect", shard: this.shards[i] });
37
- this._addListener(this.shards[i]);
27
+ if (!this.concurrencyBucket)
28
+ throw new Error("Trying to spawn shards without calling Client.connect()");
29
+ for (const id of (this.options.shards === "auto" ? Array(this.options.totalShards).fill(0).map((_, index) => index) : this.options.shards || [0])) {
30
+ this.client.emit("debug", `Spawned shard ${id}`);
31
+ this.shards[id] = new Shard_1.default(id, this.client);
32
+ this._addListener(this.shards[id]);
33
+ this.shards[id].connector.connect();
38
34
  }
39
35
  }
40
36
  /**
@@ -42,42 +38,7 @@ class ShardManager {
42
38
  */
43
39
  disconnect() {
44
40
  for (const shardKey in this.shards) {
45
- if (this.shards[shardKey]) {
46
- const shard = this.shards[shardKey];
47
- shard.disconnect();
48
- }
49
- }
50
- }
51
- /**
52
- * Actually connect/re-identify a single shard spawned by this manager by calling it's connect() or identify() method and reset the connection timer.
53
- * @param data Object with a shard and action key.
54
- */
55
- _connectShard(data) {
56
- const { action, shard } = data;
57
- this.client.emit("debug", `${action === "connect" ? "Connecting" : "Identifying"} Shard ${shard.id} Status: ${shard.connector.status} Ready: ${shard.ready}`);
58
- if ((this.lastConnectionAttempt || 0) <= Date.now() - 6000) {
59
- if (action === "identify") {
60
- this.lastConnectionAttempt = Date.now();
61
- shard.connector.identify(true);
62
- }
63
- else {
64
- if (shard.connector.status !== "connecting" && !shard.ready) {
65
- this.lastConnectionAttempt = Date.now();
66
- shard.connect();
67
- }
68
- }
69
- }
70
- }
71
- /**
72
- * Check if there are shards that have been spawned by this manager that are not connected yet and connect them if over 6 seconds have passed since the last attempt.
73
- */
74
- _checkQueue() {
75
- // this.client.emit("debug", `Checking queue Length: ${this.connectQueue.length} LastAttempt: ${this.lastConnectionAttempt} Current Time: ${Date.now()}`);
76
- if (this.connectQueue.length > 0 && ((this.lastConnectionAttempt || 0) <= Date.now() - 6000)) {
77
- const toConnect = this.connectQueue.splice(0, 1);
78
- for (const shard of toConnect) {
79
- this._connectShard(shard);
80
- }
41
+ this.shards[shardKey].disconnect();
81
42
  }
82
43
  }
83
44
  /**
@@ -86,25 +47,24 @@ class ShardManager {
86
47
  */
87
48
  _addListener(shard) {
88
49
  shard.on("ready", (resume) => {
89
- this.shards[shard.id].ready = true;
50
+ shard.ready = true;
90
51
  this.client.emit("debug", `Shard ${shard.id} ${resume ? "has resumed" : "is ready"}`);
91
52
  this.client.emit("shardReady", { id: shard.id, ready: !resume });
92
53
  this._checkReady();
93
54
  });
55
+ shard.on("queueIdentify", (shardId) => {
56
+ var _a;
57
+ if (!this.shards[shardId])
58
+ return this.client.emit("debug", `Received a queueIdentify event for shard ${shardId} but it does not exist. Was it removed?`);
59
+ this.client.emit("debug", `Shard ${shardId} is ready to identify`);
60
+ (_a = this.concurrencyBucket) === null || _a === void 0 ? void 0 : _a.queue(() => {
61
+ this.identifyBucket.queue(() => this.shards[shardId].connector.identify());
62
+ });
63
+ });
94
64
  shard.on("disconnect", (code, reason, gracefulClose) => {
95
65
  this.client.emit("debug", `Websocket of shard ${shard.id} closed with code ${code} and reason: ${reason ? reason : "None"}`);
96
- if (code === 1000 && gracefulClose) {
97
- this._checkDisconnect();
98
- return;
99
- }
100
- this.connectQueue.push({ action: "connect", shard });
101
- });
102
- shard.on("queueIdentify", (shardId) => {
103
- if (!this.shards[shardId]) {
104
- this.client.emit("debug", `Received a queueIdentify event for not existing shard ${shardId}`);
105
- return;
106
- }
107
- this.connectQueue.unshift({ action: "identify", shard: this.shards[shardId] });
66
+ if (code === 1000 && gracefulClose)
67
+ return this._checkDisconnect();
108
68
  });
109
69
  }
110
70
  /**
package/dist/Types.d.ts CHANGED
@@ -27,13 +27,20 @@ export interface IGatewayMessage extends IWSMessage {
27
27
  }
28
28
  export interface IClientOptions {
29
29
  largeGuildThreshold?: number;
30
- firstShardId?: number;
31
- lastShardId?: number;
32
- shardAmount?: number;
30
+ /**
31
+ * A note on "auto" sharding:
32
+ * "auto" will always start at 0 as there is no way to know the next available shard id.
33
+ * If you have more than one "cluster", you must specify an Array of shard ids. along with totalShards
34
+ */
35
+ shards?: "auto" | Array<number>;
36
+ /**
37
+ * Ignored and overwrote if using "auto" sharding.
38
+ * The total number of shards expected across all clusters.
39
+ */
40
+ totalShards?: number;
33
41
  reconnect?: boolean;
34
42
  initialPresence?: import("discord-typings").GatewayPresenceUpdate;
35
43
  intents?: IntentResolvable;
36
- connectQueueInterval?: number;
37
44
  snowtransferInstance?: import("snowtransfer").SnowTransfer;
38
45
  ws?: IClientWSOptions;
39
46
  }
@@ -50,6 +50,7 @@ class DiscordConnector extends events_1.EventEmitter {
50
50
  */
51
51
  connect() {
52
52
  this._closing = false;
53
+ this.client.emit("debug", `Shard ${this.id} connecting to gateway`);
53
54
  return this.betterWs.connect();
54
55
  }
55
56
  /**
@@ -97,6 +98,7 @@ class DiscordConnector extends events_1.EventEmitter {
97
98
  }
98
99
  break;
99
100
  case Constants_1.GATEWAY_OP_CODES.HELLO:
101
+ this.client.emit("debug", `Shard ${this.id} received HELLO`);
100
102
  this.heartbeat();
101
103
  this.heartbeatInterval = message.d.heartbeat_interval;
102
104
  this.heartbeatTimeout = setInterval(() => {
@@ -111,8 +113,7 @@ class DiscordConnector extends events_1.EventEmitter {
111
113
  this.heartbeat();
112
114
  }, this.heartbeatInterval);
113
115
  this._trace = message.d._trace;
114
- this.identify();
115
- this.client.emit("debug", `Shard ${this.id} received HELLO`);
116
+ this.emit("queueIdentify", this.id);
116
117
  break;
117
118
  case Constants_1.GATEWAY_OP_CODES.HEARTBEAT_ACK:
118
119
  this.lastACKAt = Date.now();
@@ -166,6 +167,7 @@ class DiscordConnector extends events_1.EventEmitter {
166
167
  void this.client.emit("debug", "Client was attempting to identify when the ws was not open");
167
168
  if (this.sessionId && !force)
168
169
  return this.resume();
170
+ this.client.emit("debug", `Shard ${this.id} is identifying`);
169
171
  this.status = "identifying";
170
172
  this.emit("stateChange", "identifying");
171
173
  const data = {
@@ -178,7 +180,7 @@ class DiscordConnector extends events_1.EventEmitter {
178
180
  $device: "CloudStorm"
179
181
  },
180
182
  large_threshold: this.options.largeGuildThreshold,
181
- shard: [this.id, this.options.shardAmount],
183
+ shard: [this.id, this.options.totalShards || 1],
182
184
  intents: this.options.intents ? Intents_1.default.resolve(this.options.intents) : 0
183
185
  }
184
186
  };
@@ -192,6 +194,7 @@ class DiscordConnector extends events_1.EventEmitter {
192
194
  async resume() {
193
195
  if (this.betterWs.status !== 1)
194
196
  void this.client.emit("debug", "Client was attempting to resume when the ws was not open");
197
+ this.client.emit("debug", `Shard ${this.id} is resuming`);
195
198
  this.status = "resuming";
196
199
  this.emit("stateChange", "resuming");
197
200
  return this.betterWs.sendMessage({
@@ -312,10 +315,8 @@ class DiscordConnector extends events_1.EventEmitter {
312
315
  if (code === 1000 && this._closing)
313
316
  gracefulClose = true;
314
317
  this._closing = false;
315
- if (gracefulClose) {
318
+ if (gracefulClose)
316
319
  this.clearHeartBeat();
317
- this.betterWs.removeAllListeners();
318
- }
319
320
  this.emit("disconnect", code, reason, gracefulClose);
320
321
  }
321
322
  /**
@@ -10,7 +10,6 @@ const crypto_1 = require("crypto");
10
10
  const zlib_1 = require("zlib");
11
11
  const https_1 = require("https");
12
12
  const util_1 = __importDefault(require("util"));
13
- const Z_SYNC_FLUSH = zlib_1.constants.Z_SYNC_FLUSH;
14
13
  const Constants_1 = require("../Constants");
15
14
  const RatelimitBucket_1 = __importDefault(require("./RatelimitBucket"));
16
15
  /**
@@ -46,7 +45,6 @@ class BetterWs extends events_1.EventEmitter {
46
45
  if (this._socket)
47
46
  return Promise.resolve(void 0);
48
47
  const key = (0, crypto_1.randomBytes)(16).toString("base64");
49
- this.emit("debug", "Creating connection");
50
48
  const url = new URL(this.address);
51
49
  const req = (0, https_1.request)({
52
50
  hostname: url.hostname,
@@ -115,6 +113,7 @@ class BetterWs extends events_1.EventEmitter {
115
113
  // @ts-ignore
116
114
  promise.resolve = resolver;
117
115
  internal.closePromise = promise;
116
+ return promise;
118
117
  }
119
118
  sendMessage(data) {
120
119
  if (!isValidRequest(data))
@@ -187,10 +186,9 @@ class BetterWs extends events_1.EventEmitter {
187
186
  internal.zlib.close();
188
187
  internal.zlib = null;
189
188
  }
190
- if (internal.closePromise) {
191
- // @ts-ignore
189
+ // @ts-ignore
190
+ if (internal.closePromise)
192
191
  internal.closePromise.resolve(void 0);
193
- }
194
192
  }
195
193
  _onReadable() {
196
194
  const socket = this._socket;
@@ -232,14 +230,14 @@ class BetterWs extends events_1.EventEmitter {
232
230
  z.close = z._handle.close = z._v;
233
231
  try {
234
232
  // @ts-ignore
235
- data = z._processChunk(message, Z_SYNC_FLUSH);
233
+ data = z._processChunk(message, zlib_1.constants.Z_SYNC_FLUSH);
236
234
  }
237
235
  catch (e) {
238
236
  error = e;
239
237
  }
240
238
  const l = message.length;
241
239
  if (message[l - 4] !== 0 || message[l - 3] !== 0 || message[l - 2] !== 255 || message[l - 1] !== 255)
242
- this.emit("debug", "discord actually does send fragmented zlib messages. if you see this error let me know");
240
+ this.emit("debug", "discord actually does send fragmented zlib messages. If you see this error let me know");
243
241
  // @ts-ignore
244
242
  z.close = z._c;
245
243
  // @ts-ignore
@@ -256,8 +254,10 @@ class BetterWs extends events_1.EventEmitter {
256
254
  this._write(Buffer.allocUnsafe(0), 8);
257
255
  return;
258
256
  }
259
- if (!data)
260
- return; // This should never run, but TS is lame
257
+ if (!data) {
258
+ this.emit("debug", "Data from zlib processing was null. If you see this error let me know"); // This should never run, but TS is lame
259
+ return;
260
+ }
261
261
  packet = this.encoding === "json" ? JSON.parse(String(data)) : readETF(data, 1);
262
262
  }
263
263
  else if (this.encoding === "json") {
@@ -4,27 +4,30 @@
4
4
  */
5
5
  declare class RatelimitBucket {
6
6
  fnQueue: Array<{
7
- fn: (...args: Array<any>) => any;
8
- callback: () => any;
7
+ fn: () => unknown;
8
+ callback: () => unknown;
9
9
  error: Error;
10
10
  }>;
11
11
  limit: number;
12
12
  remaining: number;
13
13
  limitReset: number;
14
+ defaultReset: number | undefined;
14
15
  resetTimeout: NodeJS.Timeout | null;
15
16
  static readonly default: typeof RatelimitBucket;
16
17
  /**
17
18
  * Create a new Bucket.
18
19
  * @param limit Number of functions that may be executed during the timeframe set in limitReset.
19
20
  * @param limitReset Timeframe in milliseconds until the ratelimit resets.
21
+ * @param defaultLimit If the bucket info does not provide default values, but provides remaining, this is the limit to use after the initial reset.
22
+ * @param defaultReset If the bucket info does not provide default values, but provides remaining, this is the reset to use after the initial reset.
20
23
  */
21
- constructor(limit?: number, limitReset?: number);
24
+ constructor(limit?: number, limitReset?: number, defaultReset?: number);
22
25
  /**
23
26
  * Queue a function to be executed.
24
27
  * @param fn Function to be executed.
25
28
  * @returns Result of the function if any.
26
29
  */
27
- queue(fn: (...args: Array<any>) => any): Promise<any>;
30
+ queue<T>(fn: () => T): Promise<T>;
28
31
  /**
29
32
  * Check if there are any functions in the queue that haven't been executed yet.
30
33
  */
@@ -7,13 +7,16 @@ class RatelimitBucket {
7
7
  * Create a new Bucket.
8
8
  * @param limit Number of functions that may be executed during the timeframe set in limitReset.
9
9
  * @param limitReset Timeframe in milliseconds until the ratelimit resets.
10
+ * @param defaultLimit If the bucket info does not provide default values, but provides remaining, this is the limit to use after the initial reset.
11
+ * @param defaultReset If the bucket info does not provide default values, but provides remaining, this is the reset to use after the initial reset.
10
12
  */
11
- constructor(limit = 5, limitReset = 5000) {
13
+ constructor(limit = 5, limitReset = 5000, defaultReset) {
12
14
  this.fnQueue = [];
13
15
  this.limit = limit;
14
16
  this.remaining = limit;
15
17
  this.limitReset = limitReset;
16
18
  this.resetTimeout = null;
19
+ this.defaultReset = defaultReset;
17
20
  }
18
21
  /**
19
22
  * Queue a function to be executed.
@@ -82,6 +85,8 @@ class RatelimitBucket {
82
85
  */
83
86
  resetRemaining() {
84
87
  this.remaining = this.limit;
88
+ if (this.defaultReset)
89
+ this.limitReset = this.defaultReset;
85
90
  if (this.resetTimeout) {
86
91
  clearTimeout(this.resetTimeout);
87
92
  this.resetTimeout = null;
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es5.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2016.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.esnext.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.dom.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/constants.ts","../node_modules/snowtransfer/dist/constants.d.ts","../node_modules/snowtransfer/dist/endpoints.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/snowtransfer/dist/ratelimitbuckets/localbucket.d.ts","../node_modules/snowtransfer/dist/ratelimiter.d.ts","../node_modules/@types/centra/index.d.ts","../node_modules/snowtransfer/dist/requesthandler.d.ts","../node_modules/discord-typings/reference.d.ts","../node_modules/discord-typings/topics/permissions.d.ts","../node_modules/discord-typings/resources/emoji.d.ts","../node_modules/discord-typings/resources/voice.d.ts","../node_modules/discord-typings/topics/opcodesandstatuscodes.d.ts","../node_modules/discord-typings/topics/teams.d.ts","../node_modules/discord-typings/resources/application.d.ts","../node_modules/discord-typings/resources/sticker.d.ts","../node_modules/discord-typings/resources/guildscheduledevent.d.ts","../node_modules/discord-typings/resources/invite.d.ts","../node_modules/discord-typings/topics/gateway.d.ts","../node_modules/discord-typings/resources/stageinstance.d.ts","../node_modules/discord-typings/resources/guild.d.ts","../node_modules/discord-typings/resources/user.d.ts","../node_modules/discord-typings/interactions/messagecomponents.d.ts","../node_modules/discord-typings/interactions/receivingandresponding.d.ts","../node_modules/discord-typings/resources/channel.d.ts","../node_modules/discord-typings/interactions/applicationcommands.d.ts","../node_modules/discord-typings/resources/webhook.d.ts","../node_modules/discord-typings/resources/auditlog.d.ts","../node_modules/discord-typings/resources/guildtemplate.d.ts","../node_modules/discord-typings/topics/oauth2.d.ts","../node_modules/discord-typings/index.d.ts","../node_modules/snowtransfer/dist/methods/channels.d.ts","../node_modules/snowtransfer/dist/methods/users.d.ts","../node_modules/snowtransfer/dist/methods/guildassets.d.ts","../node_modules/snowtransfer/dist/methods/webhooks.d.ts","../node_modules/snowtransfer/dist/methods/guilds.d.ts","../node_modules/snowtransfer/dist/methods/guildscheduledevent.d.ts","../node_modules/snowtransfer/dist/methods/guildtemplate.d.ts","../node_modules/snowtransfer/dist/methods/interactions.d.ts","../node_modules/snowtransfer/dist/methods/invites.d.ts","../node_modules/snowtransfer/dist/methods/voices.d.ts","../node_modules/snowtransfer/dist/methods/bots.d.ts","../node_modules/snowtransfer/dist/methods/auditlog.d.ts","../node_modules/snowtransfer/dist/methods/stageinstance.d.ts","../node_modules/snowtransfer/dist/snowtransfer.d.ts","../node_modules/snowtransfer/dist/index.d.ts","../src/structures/ratelimitbucket.ts","../src/types.ts","../src/structures/betterws.ts","../src/intents.ts","../src/connector/discordconnector.ts","../src/shard.ts","../src/shardmanager.ts","../src/client.ts","../src/index.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"9966ec0b03e7f0932a26e393e297e48dd31237cf514f1f973fd06e9d977b8f2c","241670ab33d6700a86b96dfd35c12d5ed2f2d109ffc5b6b0e124faec32ee00e7","762d474127360163db70f7dd29186037dca6049c15b993b0f84766a14bf93df8","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","a6f8d474a7cf5d4ab22d761f14e5f6b85c0050728fdc69fd65d79980bc42e60f","6feef4cfd98b1ccdd6248a91008b5701a7a2fb0a61adbeb74ee7c8fac0f514da","3e5883cbd1b75ae02ec22e0a74b35c1c069eecf6a34814292024f431d3a38cb3","8cff5283063cc4534f4c3b32dd339bf25920d53c7daaca2761317e2c2dea742f","dba1158a38c78ad31104b9cb36086133846b4c1b2b08d35f79868bdf2fc0ac8a","50d012d83e0e7eb222ca233269676b95f35116bcccd7bc1fb26c5b63a1a32527","a26ea102be21fbcae9d7eefe8e1deb6d5065af54a2470494fb55cf2b6c5f4793","ca6f8fe753ffd22a559a5838c4fe2a8a0c54ce9acd06464bbee549e6250a5814","08efe48606426eca55d9ff13f2849019d4689fa4cb2d27a9f0be4e543a7ce5e1","4cb4c93a284d529a689f96c49a162b654a86451543140e38e18d120342b59230","c960ef16f0024db825cd5395e275a556fdeedd6e6096fb8127de9a095310ea16","c9e75e2e8a8f78f713c243b95fa5ebf425eddf7a0f8ee4bf957d969ce522c055","2dc98f5ca38ced9fecc5fbd9c6547f2e1b91346848e385c3ed34d21ab5485b26","cf8b4dde972cfc12d371895e2c3336af610ac31c2a052c7d5171687f4d94640b","6f5f168bde77a5a553a0b2703aea33b25b8b6fd3657c32707fd7b135d37f7999","744338121e39ce5a4575436128483d851bec588019adb36e3550b8266fb7df06","f316ea316d6bb4bdee78b606ab7743fa41dd5fe6f9e20423b1cf2e12c145f778","b800c4657de5751c42a234152368abdc480201355c9ea2d79f1e2251f0a0923a","718f18909f7e3e7173e446ddcce0de5c2db20302196c242d6183e9db6dd86173","55fa5ab208fcc4e4a0b80ea7264eef7f33554943f4d375dba7f4a4457d82bc69","0ee2cf302a2bf95ec53eb932a779d9c8c8ca5d9ca9b437f2284062d175fccc5d","53c479afa9c0683507030f416648e6361723e607df5b8c56ecdf12ad14ead18a","cf8ef3555f09f8b71df47dc63dff5a869fb4afe4a1cb632dbec3dd625af725f3","cef33e4a401baf042a4eb8d98eeedd46740160a215d3c306c7b822deaf31be0a","e4ff2ec932357917fc93a319a654ca4a9e948392c8cb8e4a806e92d3add51047","e513fb76a4a263cd9385b0639d79d3e77dee2f918845ce5c1f4d63804b37f928","9f2c9e732e01e506055e2b6f336c24d8c1ea559c803e362dc0d4342b6e7902d1","1dec42ef5c7ff9fa01ac2c05ecb66d4b8b7d2b4b65ad7d7bdb01a3d727ee90d7","07d36410b1d0e2bfce13528fc8ecf1dbec31f6ec3986146410e1d6d6998fc148","4a5d2deb6c3edee59bc443c3bb0b2a1651e5101ee93aeb9261dcdedeed28b5af","b268af0197e558fdc32ca73bccd5dc25964093a15964da7a103c2450aaa47272","8a2556cb152a00bbbf2a5dadca1c6994f928258085c36aa24684c05b2f3e7274","4066f8d717c7c12da9bf8cba759a1d7449396d7f35b6eb4d4b4eec0d1647dda4","d948d6e7436ee4109e313b16269a1d2b5d14faf65d9437c976fb7ef4486b18f2","95e76615feb50312983f4ffd1f95051133a0f23f1af1a54a6ec0f22992c33504","7bd7d8f58f36696617c44d4ac8196284d9fad0036edc66ac5d1514c15fea2ee5","9a61a2e6282659624b125fd29aba2d2aadb3325e22ee8ea66123cbc658e1776f","c4b601ffd759466cacf25ffd585ac2fcf94fc0e8739ec179bea83e774872838a","d15f0313532fa6144d409cf896d9258750ce4f294cfe201642c7a02752a49f91","a2ba3ca93f1e681307c75f6ab8505ffad2a5557650f8435cb161b67a97880f4e","5a4048460b708d76d622a550df209789edb421c367e7ece5cd74c1eabc6d1813","7fed7ecc1c740cc737643da5966801ff99b4643b7ac8dbf44bbf84c0be5a6d7d","ab44436c909ddcc7a65483a67eb5d338b5bc270ad05b1b54b598c1604a6d9218","24cb82448e3ec4007a632ce719145d45c52713b8ec73cf818214c59f289767e7",{"version":"75cad6a28ab91182801acc655da792ddb3fc7768861d920ecff63ee20dc296fd","signature":"4a3b892acad064ff417c6d5ce3247d3ec694fbb57a68a7a0e26ad0084e3bebdc"},{"version":"0d08b33aac3b17b047fbffef9bcff420ec6cb2a8ef6820434da8aa5b97ab335d","signature":"42a3019b8904d7963511fa16f3490eb756ed8eff8600c0116bf2e2142e826a50"},{"version":"b90f2993a8bdc281f9a95752720261b9d655358252fe8981c7e52d7da15f0f48","signature":"9730bce50b78ddc7b8e62490eedfc9b840ef728c91fea509440e15fc86a7abd7"},{"version":"1e6053c1231a4e35b6b8d017f1eef1740af53624c763321bd79387f06eab128c","signature":"fc0677fb1b5375a74cb4d29550ac2f8dddd4b2959a5bdc6b0d35cd51a7c5db57"},{"version":"2f0954344899308c5d5c99cae6fad95499baf9f1f2b6b343d85e029c677a834c","signature":"8e67054e08446b48193366f745f640c9ca4cb8eb7fbc608c0bc0d5178c7b62bb"},{"version":"534d643f10a3719bc0ef357d01b2ac6dc1f132c92fc76b147f121d1b754f53da","signature":"9f5998426a7f0f5235853320a5e86af8d51e69675cc86b4e8fcdf4e3c3212fba"},{"version":"5a013adbecf3026a50e5d4c91aa611de05d25f70f6731e1afa4a31c9e3796ef4","signature":"a2084fd9326fde59e6af3fd117411282c4bf5114623f41a7b776abd79fc6282a"}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noUnusedLocals":false,"outDir":"./","removeComments":false,"sourceMap":false,"strictNullChecks":true,"target":6},"fileIdsList":[[92],[67,91,92,99],[49,92],[52,92],[53,58,92],[54,64,65,72,81,91,92],[54,55,64,72,92],[56,92],[57,58,65,73,92],[58,81,88,92],[59,61,64,72,92],[60,92],[61,62,92],[63,64,92],[64,92],[64,65,66,81,91,92],[64,65,66,81,92],[67,72,81,91,92],[64,65,67,68,72,81,88,91,92],[67,69,81,88,91,92],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],[64,70,92],[71,91,92],[61,64,72,81,92],[73,92],[74,92],[52,75,92],[76,90,92,96],[77,92],[78,92],[64,79,92],[79,80,92,94],[64,81,82,83,92],[81,83,92],[81,82,92],[84,92],[85,92],[64,86,87,92],[86,87,92],[58,72,81,88,92],[89,92],[72,90,92],[53,67,78,91,92],[58,92],[81,92,93],[92,94],[92,95],[53,58,64,66,75,81,91,92,94,96],[81,92,97],[92,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],[92,104,120],[92,106],[92,104,105,116,117,118,120,121],[92,104,109,117],[92,104,112,116,117,120,122],[92,104,106,110,111,116,117,118,119],[92,104,117],[92,104,105,106,107,111,112,114,115,117,120],[92,104,116,117],[92,110,112,116,117,120],[92,104],[92,104,116],[92,104,116,117,120],[92,104,105,106,108,110,111,113,116,117,120],[47,48,92,140],[92,103,126],[92,99,103,126],[92,103,126,130],[92,101],[92,99,100],[64,92,99,101,102],[92,101,103,127,128,129,130,131,132,133,134,135,136,137,138,139],[46,64,92,126,141,143,148],[46,64,92,126,143,144,145,149],[46,92],[46,92,143,145,149,150],[92,143,145],[46,64,92,126,143,146,149],[92,126,147,149],[46,58,64,69,72,92,97,142,143],[92,126,141],[64,126,143,148],[64,126,143,144,149],[46,143,145,149,150],[143,145],[64,126,146,149],[126,147,149],[64,142,143]],"referencedMap":[[10,1],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[4,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[32,1],[33,1],[34,1],[35,1],[7,1],[40,1],[36,1],[37,1],[38,1],[39,1],[8,1],[44,1],[41,1],[42,1],[43,1],[1,1],[9,1],[45,1],[102,2],[49,3],[50,3],[52,4],[53,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,13],[63,14],[64,15],[65,16],[66,17],[51,1],[98,1],[67,18],[68,19],[69,20],[99,21],[70,22],[71,23],[72,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[83,34],[82,35],[84,36],[85,37],[86,38],[87,39],[88,40],[89,41],[90,42],[91,43],[92,44],[93,45],[94,46],[95,47],[96,48],[97,49],[126,50],[121,51],[118,52],[119,53],[104,1],[110,54],[123,55],[120,56],[106,57],[116,58],[112,59],[124,59],[113,60],[115,61],[111,57],[117,62],[107,62],[122,63],[114,64],[125,1],[108,1],[105,61],[109,57],[47,1],[48,1],[141,65],[138,66],[137,66],[127,67],[129,67],[131,66],[132,66],[133,66],[134,68],[135,66],[139,66],[128,66],[136,66],[130,67],[100,69],[101,70],[103,71],[140,72],[149,73],[146,74],[46,75],[150,76],[145,77],[147,78],[148,79],[144,80],[142,1],[143,81]],"exportedModulesMap":[[10,1],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[4,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[32,1],[33,1],[34,1],[35,1],[7,1],[40,1],[36,1],[37,1],[38,1],[39,1],[8,1],[44,1],[41,1],[42,1],[43,1],[1,1],[9,1],[45,1],[102,2],[49,3],[50,3],[52,4],[53,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,13],[63,14],[64,15],[65,16],[66,17],[51,1],[98,1],[67,18],[68,19],[69,20],[99,21],[70,22],[71,23],[72,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[83,34],[82,35],[84,36],[85,37],[86,38],[87,39],[88,40],[89,41],[90,42],[91,43],[92,44],[93,45],[94,46],[95,47],[96,48],[97,49],[126,50],[121,51],[118,52],[119,53],[104,1],[110,54],[123,55],[120,56],[106,57],[116,58],[112,59],[124,59],[113,60],[115,61],[111,57],[117,62],[107,62],[122,63],[114,64],[125,1],[108,1],[105,61],[109,57],[47,1],[48,1],[141,65],[138,66],[137,66],[127,67],[129,67],[131,66],[132,66],[133,66],[134,68],[135,66],[139,66],[128,66],[136,66],[130,67],[100,69],[101,70],[103,71],[140,72],[149,82],[146,83],[46,75],[150,84],[145,85],[147,86],[148,87],[144,88],[142,1],[143,81]],"semanticDiagnosticsPerFile":[10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,44,41,42,43,1,9,45,102,49,50,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,51,98,67,68,69,99,70,71,72,73,74,75,76,77,78,79,80,81,83,82,84,85,86,87,88,89,90,91,92,93,94,95,96,97,126,121,118,119,104,110,123,120,106,116,112,124,113,115,111,117,107,122,114,125,108,105,109,47,48,141,138,137,127,129,131,132,133,134,135,139,128,136,130,100,101,103,140,149,146,46,150,145,147,148,144,142,143]},"version":"4.5.5"}
1
+ {"program":{"fileNames":["../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es5.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2016.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.esnext.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.dom.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.core.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.object.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.string.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.array.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.object.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.string.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.string.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.string.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../../appdata/roaming/npm/node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/constants.ts","../node_modules/snowtransfer/dist/constants.d.ts","../node_modules/snowtransfer/dist/endpoints.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/snowtransfer/dist/ratelimitbuckets/localbucket.d.ts","../node_modules/snowtransfer/dist/ratelimiter.d.ts","../node_modules/@types/centra/index.d.ts","../node_modules/snowtransfer/dist/requesthandler.d.ts","../node_modules/discord-typings/reference.d.ts","../node_modules/discord-typings/topics/permissions.d.ts","../node_modules/discord-typings/resources/emoji.d.ts","../node_modules/discord-typings/resources/voice.d.ts","../node_modules/discord-typings/topics/opcodesandstatuscodes.d.ts","../node_modules/discord-typings/topics/teams.d.ts","../node_modules/discord-typings/resources/application.d.ts","../node_modules/discord-typings/resources/sticker.d.ts","../node_modules/discord-typings/resources/guildscheduledevent.d.ts","../node_modules/discord-typings/resources/invite.d.ts","../node_modules/discord-typings/topics/gateway.d.ts","../node_modules/discord-typings/resources/stageinstance.d.ts","../node_modules/discord-typings/resources/guild.d.ts","../node_modules/discord-typings/resources/user.d.ts","../node_modules/discord-typings/interactions/messagecomponents.d.ts","../node_modules/discord-typings/interactions/receivingandresponding.d.ts","../node_modules/discord-typings/resources/channel.d.ts","../node_modules/discord-typings/interactions/applicationcommands.d.ts","../node_modules/discord-typings/resources/webhook.d.ts","../node_modules/discord-typings/resources/auditlog.d.ts","../node_modules/discord-typings/resources/guildtemplate.d.ts","../node_modules/discord-typings/topics/oauth2.d.ts","../node_modules/discord-typings/index.d.ts","../node_modules/snowtransfer/dist/methods/channels.d.ts","../node_modules/snowtransfer/dist/methods/users.d.ts","../node_modules/snowtransfer/dist/methods/guildassets.d.ts","../node_modules/snowtransfer/dist/methods/webhooks.d.ts","../node_modules/snowtransfer/dist/methods/guilds.d.ts","../node_modules/snowtransfer/dist/methods/guildscheduledevent.d.ts","../node_modules/snowtransfer/dist/methods/guildtemplate.d.ts","../node_modules/snowtransfer/dist/methods/interactions.d.ts","../node_modules/snowtransfer/dist/methods/invites.d.ts","../node_modules/snowtransfer/dist/methods/voices.d.ts","../node_modules/snowtransfer/dist/methods/bots.d.ts","../node_modules/snowtransfer/dist/methods/auditlog.d.ts","../node_modules/snowtransfer/dist/methods/stageinstance.d.ts","../node_modules/snowtransfer/dist/snowtransfer.d.ts","../node_modules/snowtransfer/dist/index.d.ts","../src/structures/ratelimitbucket.ts","../src/types.ts","../src/structures/betterws.ts","../src/intents.ts","../src/connector/discordconnector.ts","../src/shard.ts","../src/shardmanager.ts","../src/client.ts","../src/index.ts"],"fileInfos":[{"version":"89f78430e422a0f06d13019d60d5a45b37ec2d28e67eb647f73b1b0d19a46b72","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","e21c071ca3e1b4a815d5f04a7475adcaeea5d64367e840dd0154096d705c3940","746d62152361558ea6d6115cf0da4dd10ede041d14882ede3568bce5dc4b4f1f","2cc028cd0bdb35b1b5eb723d84666a255933fffbea607f72cbd0c7c7b4bee144",{"version":"abba1071bfd89e55e88a054b0c851ea3e8a494c340d0f3fab19eb18f6afb0c9e","affectsGlobalScope":true},{"version":"d8996609230d17e90484a2dd58f22668f9a05a3bfe00bfb1d6271171e54a31fb","affectsGlobalScope":true},{"version":"43fb1d932e4966a39a41b464a12a81899d9ae5f2c829063f5571b6b87e6d2f9c","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"4378fc8122ec9d1a685b01eb66c46f62aba6b239ca7228bb6483bcf8259ee493","affectsGlobalScope":true},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true},{"version":"810627a82ac06fb5166da5ada4159c4ec11978dfbb0805fe804c86406dab8357","affectsGlobalScope":true},{"version":"62d80405c46c3f4c527ee657ae9d43fda65a0bf582292429aea1e69144a522a6","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"12a310447c5d23c7d0d5ca2af606e3bd08afda69100166730ab92c62999ebb9d","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"1b3fe904465430e030c93239a348f05e1be80640d91f2f004c3512c2c2c89f34","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"d071129cba6a5f2700be09c86c07ad2791ab67d4e5ed1eb301d6746c62745ea4","affectsGlobalScope":true},{"version":"6c55633c733c8378db65ac3da7a767c3cf2cf3057f0565a9124a16a3a2019e87","affectsGlobalScope":true},{"version":"fb4416144c1bf0323ccbc9afb0ab289c07312214e8820ad17d709498c865a3fe","affectsGlobalScope":true},{"version":"5b0ca94ec819d68d33da516306c15297acec88efeb0ae9e2b39f71dbd9685ef7","affectsGlobalScope":true},{"version":"e8c9f4e445a489991ca1a4232667de3ac36b07ba75ea335971fbeacf2d26fe67","affectsGlobalScope":true},{"version":"10bbdc1981b8d9310ee75bfac28ee0477bb2353e8529da8cff7cb26c409cb5e8","affectsGlobalScope":true},"9966ec0b03e7f0932a26e393e297e48dd31237cf514f1f973fd06e9d977b8f2c","241670ab33d6700a86b96dfd35c12d5ed2f2d109ffc5b6b0e124faec32ee00e7","af73d86092a6434d4e4c16968ecbea06b51154c66aac99429aa28617fa51807d","0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a",{"version":"c2ab70bbc7a24c42a790890739dd8a0ba9d2e15038b40dff8163a97a5d148c00","affectsGlobalScope":true},"422dbb183fdced59425ca072c8bd09efaa77ce4e2ab928ec0d8a1ce062d2a45a",{"version":"712ba0d43b44d144dfd01593f61af6e2e21cfae83e834d297643e7973e55ed61","affectsGlobalScope":true},"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894",{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true},"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","98a3ebfa494b46265634a73459050befba5da8fdc6ca0ef9b7269421780f4ff3","34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","cc0b61316c4f37393f1f9595e93b673f4184e9d07f4c127165a490ec4a928668","f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79",{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true},"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","ad41bb744149e92adb06eb953da195115620a3f2ad48e7d3ae04d10762dae197","bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82",{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true},"5d0a9ea09d990b5788f867f1c79d4878f86f7384cb7dab38eecbf22f9efd063d","12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304",{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true},"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff",{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true},"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248",{"version":"3345c276cab0e76dda86c0fb79104ff915a4580ba0f3e440870e183b1baec476","affectsGlobalScope":true},"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7",{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true},"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c",{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true},"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","a6f8d474a7cf5d4ab22d761f14e5f6b85c0050728fdc69fd65d79980bc42e60f","6feef4cfd98b1ccdd6248a91008b5701a7a2fb0a61adbeb74ee7c8fac0f514da","3e5883cbd1b75ae02ec22e0a74b35c1c069eecf6a34814292024f431d3a38cb3","07ee26bcf8df0582fd517602d259cc7a8b71b1d86d83ddaa5e47cbae875db79f","dba1158a38c78ad31104b9cb36086133846b4c1b2b08d35f79868bdf2fc0ac8a","150a5862874478d5c14e7b6f02e1df5f5e46284b7dcae8822d6f045fc30e94a4","a26ea102be21fbcae9d7eefe8e1deb6d5065af54a2470494fb55cf2b6c5f4793","ca6f8fe753ffd22a559a5838c4fe2a8a0c54ce9acd06464bbee549e6250a5814","08efe48606426eca55d9ff13f2849019d4689fa4cb2d27a9f0be4e543a7ce5e1","4cb4c93a284d529a689f96c49a162b654a86451543140e38e18d120342b59230","0921334431ec6bf599691193762a4f6d049c8632c563b09ac13665506ec43195","c9e75e2e8a8f78f713c243b95fa5ebf425eddf7a0f8ee4bf957d969ce522c055","bf0763a84702a72bbc492f6a41196b70df432dfec062af0f6a555d785b943cfb","fdc136dfdfea68b8bb93db9060ff59eab1696bc1725e2a264faa82b3a2836c1a","6f5f168bde77a5a553a0b2703aea33b25b8b6fd3657c32707fd7b135d37f7999","c78aa784c2c60a8acd213cbb94f9a4792788f679c6c64824910bf5d3b028eb42","91364f823572be45c655c42572d16c2cb0530e12419c14eea23dacecb561b01a","b800c4657de5751c42a234152368abdc480201355c9ea2d79f1e2251f0a0923a","febff245a678fc3f598c5611c8f5c079db8b12ad08e61ef1d7febfa9c82743b2","3395093408c97de4f9e47b37b1edbf47643e9a591b74dbf6b814c1c5b3e278e7","3fe7bb36f0b587c32403d1de497547522ba282d88f660dc6d057a0d187e932c5","204070adc433ffd7f2c9d5e598074024ce8bfb6225eb841e293ac1283a165213","cf8ef3555f09f8b71df47dc63dff5a869fb4afe4a1cb632dbec3dd625af725f3","cef33e4a401baf042a4eb8d98eeedd46740160a215d3c306c7b822deaf31be0a","e4ff2ec932357917fc93a319a654ca4a9e948392c8cb8e4a806e92d3add51047","7ba36d11ae38518a6ff04bdf2089c5e62ea10ef8801512f250681b1f271225bd","9f2c9e732e01e506055e2b6f336c24d8c1ea559c803e362dc0d4342b6e7902d1","1dec42ef5c7ff9fa01ac2c05ecb66d4b8b7d2b4b65ad7d7bdb01a3d727ee90d7","07d36410b1d0e2bfce13528fc8ecf1dbec31f6ec3986146410e1d6d6998fc148","4a5d2deb6c3edee59bc443c3bb0b2a1651e5101ee93aeb9261dcdedeed28b5af","dbf1346c9b0f14653a8dbe8a6c5f46208c8c4538c60f8ec21714e60bb1e2b596","af3601bf1517ef2dda2e771d04102982dc6d67f34cf42f4d81861cde1b2bf7bb","4066f8d717c7c12da9bf8cba759a1d7449396d7f35b6eb4d4b4eec0d1647dda4","d948d6e7436ee4109e313b16269a1d2b5d14faf65d9437c976fb7ef4486b18f2","157ca38948262ff885e3237a1a565e1bbb15e4f1f83ebc494e0026888d839751","7bd7d8f58f36696617c44d4ac8196284d9fad0036edc66ac5d1514c15fea2ee5","9a61a2e6282659624b125fd29aba2d2aadb3325e22ee8ea66123cbc658e1776f","c4b601ffd759466cacf25ffd585ac2fcf94fc0e8739ec179bea83e774872838a","d15f0313532fa6144d409cf896d9258750ce4f294cfe201642c7a02752a49f91","42f50ef5f446724f7e64df244aa91db35e1714b082dadf2f1ef8015eab4652da","25513566501ee6e95e633500ea9d3e316afc78cef6a37e80212b236769913ebe","7fed7ecc1c740cc737643da5966801ff99b4643b7ac8dbf44bbf84c0be5a6d7d","f1ffb993045211679cdd64df58f6f0b304b86fb07657077135697968b244eb51","6768d708c3e445bda7ab50c428dca96e46f3c2ae5c347d9bf86deb888771b1dd",{"version":"c5fad9cc02863b6d0a159f94f488c0026e140bff192a7045e21f15030764fce4","signature":"4a3b892acad064ff417c6d5ce3247d3ec694fbb57a68a7a0e26ad0084e3bebdc"},"0d08b33aac3b17b047fbffef9bcff420ec6cb2a8ef6820434da8aa5b97ab335d",{"version":"1b8034034cb6b249db1df030bbf8cfd373fe3d2a371bfaf92d93ebe11c80110b","signature":"9730bce50b78ddc7b8e62490eedfc9b840ef728c91fea509440e15fc86a7abd7"},{"version":"1e6053c1231a4e35b6b8d017f1eef1740af53624c763321bd79387f06eab128c","signature":"fc0677fb1b5375a74cb4d29550ac2f8dddd4b2959a5bdc6b0d35cd51a7c5db57"},{"version":"cf83684d1ae077315fc644041234b31a5e3e9e41285876d84faf0f907c7a7635","signature":"3ebbf3636543b06a67a72d27c96754c8d9d21327fc45e3eb010eb8986f22520b"},{"version":"c84783fb8075912d76ce14917bd16e942478e03c0dfa359b3dd99f3d1c4cbf2e","signature":"08468128804e2f7806bd081f9c3299a05095754a2e554e712246a2ebb1b505af"},{"version":"5a013adbecf3026a50e5d4c91aa611de05d25f70f6731e1afa4a31c9e3796ef4","signature":"a2084fd9326fde59e6af3fd117411282c4bf5114623f41a7b776abd79fc6282a"}],"options":{"allowSyntheticDefaultImports":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"module":1,"noUnusedLocals":false,"outDir":"./","removeComments":false,"sourceMap":false,"strictNullChecks":true,"target":6},"fileIdsList":[[92],[67,91,92,99],[49,92],[52,92],[53,58,92],[54,64,65,72,81,91,92],[54,55,64,72,92],[56,92],[57,58,65,73,92],[58,81,88,92],[59,61,64,72,92],[60,92],[61,62,92],[63,64,92],[64,92],[64,65,66,81,91,92],[64,65,66,81,92],[67,72,81,91,92],[64,65,67,68,72,81,88,91,92],[67,69,81,88,91,92],[49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98],[64,70,92],[71,91,92],[61,64,72,81,92],[73,92],[74,92],[52,75,92],[76,90,92,96],[77,92],[78,92],[64,79,92],[79,80,92,94],[64,81,82,83,92],[81,83,92],[81,82,92],[84,92],[85,92],[64,86,87,92],[86,87,92],[58,72,81,88,92],[89,92],[72,90,92],[53,67,78,91,92],[58,92],[81,92,93],[92,94],[92,95],[53,58,64,66,75,81,91,92,94,96],[81,92,97],[92,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,123,124,125],[92,104,120],[92,106],[92,104,105,116,117,118,120,121],[92,104,109,117],[92,104,112,116,117,120,122],[92,104,106,110,111,116,117,118,119],[92,104,117],[92,104,105,106,107,111,112,114,115,117,120],[92,104,116,117],[92,110,112,116,117,120],[92,104],[92,104,116],[92,104,116,117,120],[92,104,105,106,108,110,111,113,116,117,120],[47,48,92,140],[92,103,126],[92,99,103,126],[92,103,126,130],[92,101],[92,99,100],[64,92,99,101,102],[92,101,103,127,128,129,130,131,132,133,134,135,136,137,138,139],[46,64,92,126,141,142,143,148],[46,64,92,126,143,144,145,149],[46,92],[46,92,143,145,149,150],[92,143,145],[46,64,92,126,143,146,149],[92,126,142,147,149],[46,58,64,69,72,92,97,142,143],[92,126,141],[64,126,143,148],[64,126,143,144,149],[46,143,145,149,150],[64,126,146,149],[126,142,147,149],[64,142,143]],"referencedMap":[[10,1],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[4,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[32,1],[33,1],[34,1],[35,1],[7,1],[40,1],[36,1],[37,1],[38,1],[39,1],[8,1],[44,1],[41,1],[42,1],[43,1],[1,1],[9,1],[45,1],[102,2],[49,3],[50,3],[52,4],[53,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,13],[63,14],[64,15],[65,16],[66,17],[51,1],[98,1],[67,18],[68,19],[69,20],[99,21],[70,22],[71,23],[72,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[83,34],[82,35],[84,36],[85,37],[86,38],[87,39],[88,40],[89,41],[90,42],[91,43],[92,44],[93,45],[94,46],[95,47],[96,48],[97,49],[126,50],[121,51],[118,52],[119,53],[104,1],[110,54],[123,55],[120,56],[106,57],[116,58],[112,59],[124,59],[113,60],[115,61],[111,57],[117,62],[107,62],[122,63],[114,64],[125,1],[108,1],[105,61],[109,57],[47,1],[48,1],[141,65],[138,66],[137,66],[127,67],[129,67],[131,66],[132,66],[133,66],[134,68],[135,66],[139,66],[128,66],[136,66],[130,67],[100,69],[101,70],[103,71],[140,72],[149,73],[146,74],[46,75],[150,76],[145,77],[147,78],[148,79],[144,80],[142,1],[143,81]],"exportedModulesMap":[[10,1],[12,1],[11,1],[2,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[19,1],[20,1],[3,1],[4,1],[24,1],[21,1],[22,1],[23,1],[25,1],[26,1],[27,1],[5,1],[28,1],[29,1],[30,1],[31,1],[6,1],[32,1],[33,1],[34,1],[35,1],[7,1],[40,1],[36,1],[37,1],[38,1],[39,1],[8,1],[44,1],[41,1],[42,1],[43,1],[1,1],[9,1],[45,1],[102,2],[49,3],[50,3],[52,4],[53,5],[54,6],[55,7],[56,8],[57,9],[58,10],[59,11],[60,12],[61,13],[62,13],[63,14],[64,15],[65,16],[66,17],[51,1],[98,1],[67,18],[68,19],[69,20],[99,21],[70,22],[71,23],[72,24],[73,25],[74,26],[75,27],[76,28],[77,29],[78,30],[79,31],[80,32],[81,33],[83,34],[82,35],[84,36],[85,37],[86,38],[87,39],[88,40],[89,41],[90,42],[91,43],[92,44],[93,45],[94,46],[95,47],[96,48],[97,49],[126,50],[121,51],[118,52],[119,53],[104,1],[110,54],[123,55],[120,56],[106,57],[116,58],[112,59],[124,59],[113,60],[115,61],[111,57],[117,62],[107,62],[122,63],[114,64],[125,1],[108,1],[105,61],[109,57],[47,1],[48,1],[141,65],[138,66],[137,66],[127,67],[129,67],[131,66],[132,66],[133,66],[134,68],[135,66],[139,66],[128,66],[136,66],[130,67],[100,69],[101,70],[103,71],[140,72],[149,82],[146,83],[46,75],[150,84],[145,77],[147,85],[148,86],[144,87],[142,1],[143,81]],"semanticDiagnosticsPerFile":[10,12,11,2,13,14,15,16,17,18,19,20,3,4,24,21,22,23,25,26,27,5,28,29,30,31,6,32,33,34,35,7,40,36,37,38,39,8,44,41,42,43,1,9,45,102,49,50,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,51,98,67,68,69,99,70,71,72,73,74,75,76,77,78,79,80,81,83,82,84,85,86,87,88,89,90,91,92,93,94,95,96,97,126,121,118,119,104,110,123,120,106,116,112,124,113,115,111,117,107,122,114,125,108,105,109,47,48,141,138,137,127,129,131,132,133,134,135,139,128,136,130,100,101,103,140,149,146,46,150,145,147,148,144,142,143]},"version":"4.5.5"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloudstorm",
3
- "version": "0.4.3",
3
+ "version": "0.5.2",
4
4
  "description": "Minimalistic Discord Gateway library",
5
5
  "main": "./dist/index.js",
6
6
  "engines": {
@@ -14,18 +14,18 @@
14
14
  "author": "wolke <wolke@weeb.sh>",
15
15
  "license": "MIT",
16
16
  "dependencies": {
17
- "snowtransfer": "^0.4.x"
17
+ "snowtransfer": "^0.4.3"
18
18
  },
19
19
  "devDependencies": {
20
20
  "@types/centra": "^2.2.0",
21
21
  "@types/node": "17.0.23",
22
- "@typescript-eslint/eslint-plugin": "^5.16.0",
23
- "@typescript-eslint/parser": "^5.16.0",
24
- "eslint": "^8.11.0",
22
+ "@typescript-eslint/eslint-plugin": "^5.17.0",
23
+ "@typescript-eslint/parser": "^5.17.0",
24
+ "eslint": "^8.12.0",
25
25
  "typedoc": "^0.22.13",
26
26
  "typedoc-plugin-mdn-links": "^1.0.5",
27
27
  "typedoc-plugin-missing-exports": "^0.22.6",
28
- "typescript": "^4.6.2"
28
+ "typescript": "^4.6.3"
29
29
  },
30
30
  "files": [
31
31
  "dist",