From 455cc6fb24ee744937797324d033e6b4b1cdf5c8 Mon Sep 17 00:00:00 2001 From: ayntee Date: Fri, 2 Apr 2021 17:31:25 +0400 Subject: [PATCH] fix(handlers/GUILD_MEMBER_ADD): check if guildMember is undefined (#729) * fix(handlers/GUILD_MEMBER_ADD): check if guildMember is undefined * Update src/handlers/members/GUILD_MEMBER_UPDATE.ts Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> * Update src/handlers/members/GUILD_MEMBER_UPDATE.ts Co-authored-by: ITOH <72305210+itohatweb@users.noreply.github.com> * Update src/handlers/members/GUILD_MEMBER_UPDATE.ts Co-authored-by: ITOH <72305210+itohatweb@users.noreply.github.com> * Update src/handlers/members/GUILD_MEMBER_UPDATE.ts Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> * Update src/handlers/members/GUILD_MEMBER_UPDATE.ts Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Co-authored-by: Skillz4Killz <23035000+Skillz4Killz@users.noreply.github.com> Co-authored-by: ITOH <72305210+itohatweb@users.noreply.github.com> --- src/handlers/members/GUILD_MEMBER_UPDATE.ts | 48 +++++++++++---------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/handlers/members/GUILD_MEMBER_UPDATE.ts b/src/handlers/members/GUILD_MEMBER_UPDATE.ts index 1a9619560..d15c6ee2f 100644 --- a/src/handlers/members/GUILD_MEMBER_UPDATE.ts +++ b/src/handlers/members/GUILD_MEMBER_UPDATE.ts @@ -27,32 +27,34 @@ export async function handleGuildMemberUpdate(data: DiscordGatewayPayload) { ); await cacheHandlers.set("members", memberStruct.id, memberStruct); - if (guildMember?.nick !== payload.nick) { - eventHandlers.nicknameUpdate?.( - guild, - memberStruct, - payload.nick!, - guildMember?.nick, - ); - } - - if (payload.pending === false && guildMember?.pending === true) { - eventHandlers.membershipScreeningPassed?.(guild, memberStruct); - } - - const roleIds = guildMember?.roles || []; - - roleIds.forEach((id) => { - if (!payload.roles.includes(id)) { - eventHandlers.roleLost?.(guild, memberStruct, id); + if (guildMember) { + if (guildMember.nick !== payload.nick) { + eventHandlers.nicknameUpdate?.( + guild, + memberStruct, + payload.nick!, + guildMember.nick, + ); } - }); - payload.roles.forEach((id) => { - if (!roleIds.includes(id)) { - eventHandlers.roleGained?.(guild, memberStruct, id); + if (payload.pending === false && guildMember.pending === true) { + eventHandlers.membershipScreeningPassed?.(guild, memberStruct); } - }); + + const roleIds = guildMember.roles || []; + + roleIds.forEach((id) => { + if (!payload.roles.includes(id)) { + eventHandlers.roleLost?.(guild, memberStruct, id); + } + }); + + payload.roles.forEach((id) => { + if (!roleIds.includes(id)) { + eventHandlers.roleGained?.(guild, memberStruct, id); + } + }); + } eventHandlers.guildMemberUpdate?.(guild, memberStruct, cachedMember); }