From 099a1a47e87e00fc770fa3abb1c2c5ea27bf18d0 Mon Sep 17 00:00:00 2001 From: SpaceEEC Date: Fri, 24 Jan 2020 16:56:04 +0100 Subject: [PATCH] fix(*Collector): always run postCheck, remove 'translatation' of message collector options (#3718) * fix(*Collector): always run postCheck, correctly 'translate' message collector options * fix(MessageCollector): remove translation, fix postCheck conditions --- src/structures/MessageCollector.js | 7 ++----- src/structures/interfaces/Collector.js | 20 ++++++++++---------- 2 files changed, 12 insertions(+), 15 deletions(-) diff --git a/src/structures/MessageCollector.js b/src/structures/MessageCollector.js index 9ef4fbb08..acd82bef4 100644 --- a/src/structures/MessageCollector.js +++ b/src/structures/MessageCollector.js @@ -36,9 +36,6 @@ class MessageCollector extends Collector { if (this.client.getMaxListeners() !== 0) this.client.setMaxListeners(this.client.getMaxListeners() + 1); this.client.on('message', this.listener); - // For backwards compatibility (remove in v12) - if (this.options.max) this.options.maxProcessed = this.options.max; - if (this.options.maxMatches) this.options.max = this.options.maxMatches; this._reEmitter = message => { /** * Emitted when the collector receives a message. @@ -81,8 +78,8 @@ class MessageCollector extends Collector { */ postCheck() { // Consider changing the end reasons for v12 - if (this.options.maxMatches && this.collected.size >= this.options.max) return 'matchesLimit'; - if (this.options.max && this.received >= this.options.maxProcessed) return 'limit'; + if (this.options.maxMatches && this.collected.size >= this.options.maxMatches) return 'matchesLimit'; + if (this.options.max && this.received >= this.options.max) return 'limit'; return null; } diff --git a/src/structures/interfaces/Collector.js b/src/structures/interfaces/Collector.js index 1c69a8135..3b3244959 100644 --- a/src/structures/interfaces/Collector.js +++ b/src/structures/interfaces/Collector.js @@ -79,17 +79,17 @@ class Collector extends EventEmitter { */ _handle(...args) { const collect = this.handle(...args); - if (!collect || !this.filter(...args, this.collected)) return; + if (collect && this.filter(...args, this.collected)) { + this.collected.set(collect.key, collect.value); - this.collected.set(collect.key, collect.value); - - /** - * Emitted whenever an element is collected. - * @event Collector#collect - * @param {*} element The element that got collected - * @param {Collector} collector The collector - */ - this.emit('collect', collect.value, this); + /** + * Emitted whenever an element is collected. + * @event Collector#collect + * @param {*} element The element that got collected + * @param {Collector} collector The collector + */ + this.emit('collect', collect.value, this); + } const post = this.postCheck(...args); if (post) this.stop(post);