From fe11ff5f6e85571a981e90eba5b9f3bda7a2cd04 Mon Sep 17 00:00:00 2001 From: Almeida Date: Wed, 9 Feb 2022 08:18:50 +0000 Subject: [PATCH] fix(guildmember): make `pending` nullable (#7401) --- packages/discord.js/src/structures/GuildMember.js | 12 +++++++++--- packages/discord.js/typings/index.d.ts | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/packages/discord.js/src/structures/GuildMember.js b/packages/discord.js/src/structures/GuildMember.js index 00309cc23..5670903a0 100644 --- a/packages/discord.js/src/structures/GuildMember.js +++ b/packages/discord.js/src/structures/GuildMember.js @@ -43,9 +43,9 @@ class GuildMember extends Base { /** * Whether this member has yet to pass the guild's membership gate - * @type {boolean} + * @type {?boolean} */ - this.pending = false; + this.pending = null; /** * The timestamp this member's timeout will be removed @@ -81,7 +81,13 @@ class GuildMember extends Base { this.premiumSinceTimestamp = data.premium_since ? Date.parse(data.premium_since) : null; } if ('roles' in data) this._roles = data.roles; - this.pending = data.pending ?? false; + + if ('pending' in data) { + this.pending = data.pending; + } else if (!this.partial) { + // See https://github.com/discordjs/discord.js/issues/6546 for more info. + this.pending ??= false; + } if ('communication_disabled_until' in data) { this.communicationDisabledUntilTimestamp = diff --git a/packages/discord.js/typings/index.d.ts b/packages/discord.js/typings/index.d.ts index f96dbda14..507e21113 100644 --- a/packages/discord.js/typings/index.d.ts +++ b/packages/discord.js/typings/index.d.ts @@ -4715,7 +4715,7 @@ export interface PartialDMChannel extends Partialize {} +export interface PartialGuildMember extends Partialize {} export interface PartialMessage extends Partialize {}