From ff3454ef89deb84f68fef09f69f68e2651655f97 Mon Sep 17 00:00:00 2001 From: Kevin Date: Thu, 16 Apr 2020 12:07:32 +0200 Subject: [PATCH] feat(GuildMemberManager): customisable timeout for _fetchMany (#4081) --- src/managers/GuildMemberManager.js | 5 +++-- typings/index.d.ts | 1 + 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/managers/GuildMemberManager.js b/src/managers/GuildMemberManager.js index 51f28b3fb..e1387e8ff 100644 --- a/src/managers/GuildMemberManager.js +++ b/src/managers/GuildMemberManager.js @@ -76,6 +76,7 @@ class GuildMemberManager extends BaseManager { * @property {?string} query Limit fetch to members with similar usernames * @property {number} [limit=0] Maximum number of members to request * @property {boolean} [withPresences=false] Whether or not to include the presences + * @property {number} [time=120e3] Timeout for receipt of members */ /** @@ -223,7 +224,7 @@ class GuildMemberManager extends BaseManager { .then(data => this.add(data, cache)); } - _fetchMany({ limit = 0, withPresences: presences = false, user: user_ids, query } = {}) { + _fetchMany({ limit = 0, withPresences: presences = false, user: user_ids, query, time = 120e3 } = {}) { return new Promise((resolve, reject) => { if (this.guild.memberCount === this.cache.size && !query && !limit && !presences && !user_ids) { resolve(this.cache); @@ -262,7 +263,7 @@ class GuildMemberManager extends BaseManager { const timeout = this.guild.client.setTimeout(() => { this.guild.client.removeListener(Events.GUILD_MEMBERS_CHUNK, handler); reject(new Error('GUILD_MEMBERS_TIMEOUT')); - }, 120e3); + }, time); this.guild.client.on(Events.GUILD_MEMBERS_CHUNK, handler); }); } diff --git a/typings/index.d.ts b/typings/index.d.ts index e92d61978..8946a31be 100644 --- a/typings/index.d.ts +++ b/typings/index.d.ts @@ -2381,6 +2381,7 @@ declare module 'discord.js' { query?: string; limit?: number; withPresences?: boolean; + time?: number; } interface FileOptions {