diff --git a/src/client/websocket/packets/handlers/Ready.js b/src/client/websocket/packets/handlers/Ready.js index b015b924b..5d3def76e 100644 --- a/src/client/websocket/packets/handlers/Ready.js +++ b/src/client/websocket/packets/handlers/Ready.js @@ -63,11 +63,13 @@ class ReadyHandler extends AbstractHandler { client.ws.connection.triggerReady(); }, 1200 * data.guilds.length); - client.setMaxListeners(data.guilds.length + 10); + const guildCount = data.guilds.length; + + if (client.getMaxListeners() !== 0) client.setMaxListeners(client.getMaxListeners() + guildCount); client.once('ready', () => { client.syncGuilds(); - client.setMaxListeners(10); + if (client.getMaxListeners() !== 0) client.setMaxListeners(client.getMaxListeners() - guildCount); client.clearTimeout(t); }); diff --git a/src/structures/MessageCollector.js b/src/structures/MessageCollector.js index 1e93e911d..9ef4fbb08 100644 --- a/src/structures/MessageCollector.js +++ b/src/structures/MessageCollector.js @@ -33,7 +33,7 @@ class MessageCollector extends Collector { */ this.received = 0; - this.client.setMaxListeners(this.client.getMaxListeners() + 1); + if (this.client.getMaxListeners() !== 0) this.client.setMaxListeners(this.client.getMaxListeners() + 1); this.client.on('message', this.listener); // For backwards compatibility (remove in v12) @@ -93,7 +93,7 @@ class MessageCollector extends Collector { cleanup() { this.removeListener('collect', this._reEmitter); this.client.removeListener('message', this.listener); - this.client.setMaxListeners(this.client.getMaxListeners() - 1); + if (this.client.getMaxListeners() !== 0) this.client.setMaxListeners(this.client.getMaxListeners() - 1); } } diff --git a/src/structures/ReactionCollector.js b/src/structures/ReactionCollector.js index 0be2d8920..b8c191afb 100644 --- a/src/structures/ReactionCollector.js +++ b/src/structures/ReactionCollector.js @@ -39,7 +39,7 @@ class ReactionCollector extends Collector { */ this.total = 0; - this.client.setMaxListeners(this.client.getMaxListeners() + 1); + if (this.client.getMaxListeners() !== 0) this.client.setMaxListeners(this.client.getMaxListeners() + 1); this.client.on('messageReactionAdd', this.listener); } @@ -78,7 +78,7 @@ class ReactionCollector extends Collector { */ cleanup() { this.client.removeListener('messageReactionAdd', this.listener); - this.client.setMaxListeners(this.client.getMaxListeners() - 1); + if (this.client.getMaxListeners() !== 0) this.client.setMaxListeners(this.client.getMaxListeners() - 1); } }