summaryrefslogtreecommitdiff
path: root/node_modules/discord.js/src/client/ClientManager.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/discord.js/src/client/ClientManager.js')
-rw-r--r--node_modules/discord.js/src/client/ClientManager.js74
1 files changed, 0 insertions, 74 deletions
diff --git a/node_modules/discord.js/src/client/ClientManager.js b/node_modules/discord.js/src/client/ClientManager.js
deleted file mode 100644
index 0f2480c..0000000
--- a/node_modules/discord.js/src/client/ClientManager.js
+++ /dev/null
@@ -1,74 +0,0 @@
-const Constants = require('../util/Constants');
-const WebSocketConnection = require('./websocket/WebSocketConnection');
-
-/**
- * Manages the state and background tasks of the client.
- * @private
- */
-class ClientManager {
- constructor(client) {
- /**
- * The client that instantiated this Manager
- * @type {Client}
- */
- this.client = client;
-
- /**
- * The heartbeat interval
- * @type {?number}
- */
- this.heartbeatInterval = null;
- }
-
- /**
- * The status of the client
- * @type {number}
- */
- get status() {
- return this.connection ? this.connection.status : Constants.Status.IDLE;
- }
-
- /**
- * Connects the client to the WebSocket.
- * @param {string} token The authorization token
- * @param {Function} resolve Function to run when connection is successful
- * @param {Function} reject Function to run when connection fails
- */
- connectToWebSocket(token, resolve, reject) {
- this.client.emit(Constants.Events.DEBUG, `Authenticated using token ${token}`);
- this.client.token = token;
- const timeout = this.client.setTimeout(() => reject(new Error(Constants.Errors.TOOK_TOO_LONG)), 1000 * 300);
- this.client.rest.methods.getGateway().then(res => {
- const protocolVersion = Constants.DefaultOptions.ws.version;
- const gateway = `${res.url}/?v=${protocolVersion}&encoding=${WebSocketConnection.ENCODING}`;
- this.client.emit(Constants.Events.DEBUG, `Using gateway ${gateway}`);
- this.client.ws.connect(gateway);
- this.client.ws.connection.once('error', reject);
- this.client.ws.connection.once('close', event => {
- if (event.code === 4004) reject(new Error(Constants.Errors.BAD_LOGIN));
- if (event.code === 4010) reject(new Error(Constants.Errors.INVALID_SHARD));
- if (event.code === 4011) reject(new Error(Constants.Errors.SHARDING_REQUIRED));
- });
- this.client.once(Constants.Events.READY, () => {
- resolve(token);
- this.client.clearTimeout(timeout);
- });
- }, reject);
- }
-
- destroy() {
- this.client.ws.destroy();
- this.client.rest.destroy();
- if (!this.client.user) return Promise.resolve();
- if (this.client.user.bot) {
- this.client.token = null;
- return Promise.resolve();
- } else {
- return this.client.rest.methods.logout().then(() => {
- this.client.token = null;
- });
- }
- }
-}
-
-module.exports = ClientManager;