feat(GuildMemberStore): make timeout refresh after every GUILD_MEMBERS_CHUNK (#3645)

This commit is contained in:
BorgerKing
2020-01-24 11:08:40 -05:00
committed by SpaceEEC
parent b81f771007
commit 90aa5b3500

View File

@@ -207,6 +207,7 @@ class GuildMemberStore extends DataStore {
const fetchedMembers = new Collection(); const fetchedMembers = new Collection();
const handler = (members, guild) => { const handler = (members, guild) => {
if (guild.id !== this.guild.id) return; if (guild.id !== this.guild.id) return;
timeout.refresh();
for (const member of members.values()) { for (const member of members.values()) {
if (query || limit) fetchedMembers.set(member.id, member); if (query || limit) fetchedMembers.set(member.id, member);
} }
@@ -217,11 +218,11 @@ class GuildMemberStore extends DataStore {
resolve(query || limit ? fetchedMembers : this); resolve(query || limit ? fetchedMembers : this);
} }
}; };
this.guild.client.on(Events.GUILD_MEMBERS_CHUNK, handler); const timeout = this.guild.client.setTimeout(() => {
this.guild.client.setTimeout(() => {
this.guild.client.removeListener(Events.GUILD_MEMBERS_CHUNK, handler); this.guild.client.removeListener(Events.GUILD_MEMBERS_CHUNK, handler);
reject(new Error('GUILD_MEMBERS_TIMEOUT')); reject(new Error('GUILD_MEMBERS_TIMEOUT'));
}, 120e3); }, 120e3);
this.guild.client.on(Events.GUILD_MEMBERS_CHUNK, handler);
}); });
} }
} }