From 903f6ca75f438db3966c179381fb98657db7473c Mon Sep 17 00:00:00 2001 From: SpaceEEC Date: Fri, 24 Jan 2020 16:41:37 +0100 Subject: [PATCH] fix: only setMaxListeners when max listeners is not 0 (#3716) --- src/client/websocket/packets/handlers/Ready.js | 6 ++++-- src/structures/MessageCollector.js | 4 ++-- src/structures/ReactionCollector.js | 4 ++-- 3 files changed, 8 insertions(+), 6 deletions(-) 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); } }