mirror of
https://github.com/discordjs/discord.js.git
synced 2026-03-14 18:43:31 +01:00
fix(Guild): memberCount not decrementing when an uncached member leaves
This leads to GuildMemberStore#_fetchMany to always reject because it expects more member than possible. Also no longer call the GuildMemberRemove handler locally to not decrement twice.
This commit is contained in:
@@ -8,8 +8,8 @@ class GuildMemberRemoveAction extends Action {
|
|||||||
let member = null;
|
let member = null;
|
||||||
if (guild) {
|
if (guild) {
|
||||||
member = guild.members.get(data.user.id);
|
member = guild.members.get(data.user.id);
|
||||||
|
guild.memberCount--;
|
||||||
if (member) {
|
if (member) {
|
||||||
guild.memberCount--;
|
|
||||||
guild.members.remove(member.id);
|
guild.members.remove(member.id);
|
||||||
if (client.status === Status.READY) client.emit(Events.GUILD_MEMBER_REMOVE, member);
|
if (client.status === Status.READY) client.emit(Events.GUILD_MEMBER_REMOVE, member);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -526,12 +526,7 @@ class GuildMember extends Base {
|
|||||||
*/
|
*/
|
||||||
kick(reason) {
|
kick(reason) {
|
||||||
return this.client.api.guilds(this.guild.id).members(this.user.id).delete({ reason })
|
return this.client.api.guilds(this.guild.id).members(this.user.id).delete({ reason })
|
||||||
.then(() =>
|
.then(() => this);
|
||||||
this.client.actions.GuildMemberRemove.handle({
|
|
||||||
guild_id: this.guild.id,
|
|
||||||
user: this.user,
|
|
||||||
}).member
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
Reference in New Issue
Block a user