diff --git a/src/client/rest/RESTManager.js b/src/client/rest/RESTManager.js index 37d5a9599..d8a0ec78a 100644 --- a/src/client/rest/RESTManager.js +++ b/src/client/rest/RESTManager.js @@ -16,8 +16,8 @@ class RESTManager { } destroy() { - for (const handlerID in this.handlers) { - this.handlers[handlerID].destroy(); + for (const handler of Object.values(this.handlers)) { + if (handler.destroy) handler.destroy(); } } diff --git a/src/client/websocket/WebSocketConnection.js b/src/client/websocket/WebSocketConnection.js index c0581a208..58c7da1d0 100644 --- a/src/client/websocket/WebSocketConnection.js +++ b/src/client/websocket/WebSocketConnection.js @@ -81,8 +81,8 @@ class WebSocketConnection extends EventEmitter { */ this.ratelimit = { queue: [], - remaining: 120, - resetTime: -1, + remaining: 60, + resetTimer: null, }; this.connect(gateway); @@ -190,10 +190,10 @@ class WebSocketConnection extends EventEmitter { if (this.ratelimit.remaining === 0) return; if (this.ratelimit.queue.length === 0) return; if (this.ratelimit.remaining === 120) { - this.ratelimit.resetTimer = setTimeout(() => { - this.ratelimit.remaining = 120; + this.ratelimit.resetTimer = this.client.setTimeout(() => { + this.ratelimit.remaining = 60; this.processQueue(); - }, 120e3); // eslint-disable-line + }, 120e3); } while (this.ratelimit.remaining > 0) { const item = this.ratelimit.queue.shift();