mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-10 00:23:30 +01:00
fix: in/de-crement max listener for client events (#4168)
This commit is contained in:
@@ -196,15 +196,18 @@ class GuildManager extends BaseManager {
|
||||
|
||||
const handleGuild = guild => {
|
||||
if (guild.id === data.id) {
|
||||
this.client.removeListener(Events.GUILD_CREATE, handleGuild);
|
||||
this.client.clearTimeout(timeout);
|
||||
this.client.removeListener(Events.GUILD_CREATE, handleGuild);
|
||||
this.client.decrementMaxListeners();
|
||||
resolve(guild);
|
||||
}
|
||||
};
|
||||
this.client.incrementMaxListeners();
|
||||
this.client.on(Events.GUILD_CREATE, handleGuild);
|
||||
|
||||
const timeout = this.client.setTimeout(() => {
|
||||
this.client.removeListener(Events.GUILD_CREATE, handleGuild);
|
||||
this.client.decrementMaxListeners();
|
||||
resolve(this.client.guilds.add(data));
|
||||
}, 10000);
|
||||
return undefined;
|
||||
|
||||
@@ -267,17 +267,21 @@ class GuildMemberManager extends BaseManager {
|
||||
(limit && fetchedMembers.size >= limit) ||
|
||||
i === chunk.count
|
||||
) {
|
||||
this.guild.client.removeListener(Events.GUILD_MEMBERS_CHUNK, handler);
|
||||
this.client.clearTimeout(timeout);
|
||||
this.client.removeListener(Events.GUILD_MEMBERS_CHUNK, handler);
|
||||
this.client.decrementMaxListeners();
|
||||
let fetched = option ? fetchedMembers : this.cache;
|
||||
if (user_ids && !Array.isArray(user_ids) && fetched.size) fetched = fetched.first();
|
||||
resolve(fetched);
|
||||
}
|
||||
};
|
||||
const timeout = this.guild.client.setTimeout(() => {
|
||||
this.guild.client.removeListener(Events.GUILD_MEMBERS_CHUNK, handler);
|
||||
const timeout = this.client.setTimeout(() => {
|
||||
this.client.removeListener(Events.GUILD_MEMBERS_CHUNK, handler);
|
||||
this.client.decrementMaxListeners();
|
||||
reject(new Error('GUILD_MEMBERS_TIMEOUT'));
|
||||
}, time);
|
||||
this.guild.client.on(Events.GUILD_MEMBERS_CHUNK, handler);
|
||||
this.client.incrementMaxListeners();
|
||||
this.client.on(Events.GUILD_MEMBERS_CHUNK, handler);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user