mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-09 16:13:31 +01:00
add docs for ClientManager
This commit is contained in:
File diff suppressed because one or more lines are too long
@@ -1,12 +1,32 @@
|
||||
const Constants = require('../util/Constants');
|
||||
|
||||
/**
|
||||
* Manages the State and Background Tasks of the Client
|
||||
* @class ClientManager
|
||||
* @private
|
||||
*/
|
||||
class ClientManager {
|
||||
|
||||
constructor(client) {
|
||||
/**
|
||||
* The Client that instantiated this Manager
|
||||
* @type {Client}
|
||||
*/
|
||||
this.client = client;
|
||||
/**
|
||||
* The heartbeat interval, null if not yet set
|
||||
* @type {?Number}
|
||||
*/
|
||||
this.heartbeatInterval = null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 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
|
||||
* @returns {null}
|
||||
*/
|
||||
connectToWebSocket(token, resolve, reject) {
|
||||
this.client.store.token = token;
|
||||
this.client.rest.methods.getGateway()
|
||||
@@ -19,6 +39,11 @@ class ClientManager {
|
||||
setTimeout(() => reject(Constants.Errors.TOOK_TOO_LONG), 1000 * 15);
|
||||
}
|
||||
|
||||
/**
|
||||
* Sets up a keep-alive interval to keep the Client's connection valid
|
||||
* @param {Number} time the interval in milliseconds at which heartbeat packets should be sent
|
||||
* @returns {null}
|
||||
*/
|
||||
setupKeepAlive(time) {
|
||||
this.heartbeatInterval = setInterval(() => {
|
||||
this.client.ws.send({
|
||||
|
||||
Reference in New Issue
Block a user