Skip to content

Commit

Permalink
emit ReactionCollector#remove on all unreactions (#2096)
Browse files Browse the repository at this point in the history
* emit ReactionCollector#remove on all unreactions

this will emit an event when a user removes a collected reaction. this
is in addition to Collector#dispose, which will only fire when all users
have unreacted to the same emoji.

* emit only collected removals
  • Loading branch information
appellation authored and iCrawl committed Nov 16, 2017
1 parent 2d8e26c commit 09315ae
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion src/structures/ReactionCollector.js
Original file line number Diff line number Diff line change
Expand Up @@ -83,7 +83,17 @@ class ReactionCollector extends Collector {
* @returns {?Snowflake|string}
*/
dispose(reaction) {
return reaction.message.id === this.message.id && !reaction.count ? ReactionCollector.key(reaction) : null;
if (reaction.message.id !== this.message.id) return null;

/**
* Emitted whenever a reaction is removed from a message. Will emit on all reaction removals,
* as opposed to {@link Collector#dispose} which will only be emitted when the entire reaction
* is removed.
* @event ReactionCollector#remove
* @param {MessageReaction} reaction The reaction that was removed
*/
if (this.collected.has(reaction)) this.emit('remove', reaction);
return reaction.count ? null : ReactionCollector.key(reaction);
}

/**
Expand Down

0 comments on commit 09315ae

Please # to comment.