From f40a5e9f8875299aa6ec25a0491e4dc92868f54d Mon Sep 17 00:00:00 2001 From: SpaceEEC Date: Mon, 4 Sep 2017 05:22:01 +0200 Subject: [PATCH] feature(MessageReaction): add after option when fetching users who reacted with an emoji (#1882) --- src/structures/MessageReaction.js | 25 ++++++++++++------------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/src/structures/MessageReaction.js b/src/structures/MessageReaction.js index 0bf047743f2a..bf3235b10b00 100644 --- a/src/structures/MessageReaction.js +++ b/src/structures/MessageReaction.js @@ -79,23 +79,22 @@ class MessageReaction { /** * Fetch all the users that gave this reaction. Resolves with a collection of users, mapped by their IDs. - * @param {number} [limit=100] The maximum amount of users to fetch, defaults to 100 + * @param {Object} [options] Options for fetching the users + * @param {number} [options.limit=100] The maximum amount of users to fetch, defaults to 100 + * @param {Snowflake} [options.after] Limit fetching users to those with an id greater than the supplied id * @returns {Promise>} */ - fetchUsers(limit = 100) { + async fetchUsers({ limit = 100, after } = {}) { const message = this.message; - return message.client.api.channels[message.channel.id].messages[message.id] + const users = await message.client.api.channels[message.channel.id].messages[message.id] .reactions[this.emoji.identifier] - .get({ query: { limit } }) - .then(users => { - this.users = new Collection(); - for (const rawUser of users) { - const user = message.client.users.create(rawUser); - this.users.set(user.id, user); - } - this.count = this.users.size; - return this.users; - }); + .get({ query: { limit, after } }); + for (const rawUser of users) { + const user = message.client.users.create(rawUser); + this.users.set(user.id, user); + } + this.count = this.users.size; + return this.users; } _add(user) {