From 0f8ca1dec2e0283c0da01571537962c06cbf92ba Mon Sep 17 00:00:00 2001 From: TriForMine Date: Tue, 13 Apr 2021 13:47:06 +0200 Subject: [PATCH] fix(handlers): add if payload.mentions --- src/handlers/messages/MESSAGE_CREATE.ts | 40 +++++++++++++------------ 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/src/handlers/messages/MESSAGE_CREATE.ts b/src/handlers/messages/MESSAGE_CREATE.ts index 8fe8e4687..423e6f8e1 100644 --- a/src/handlers/messages/MESSAGE_CREATE.ts +++ b/src/handlers/messages/MESSAGE_CREATE.ts @@ -15,36 +15,38 @@ export async function handleMessageCreate(data: DiscordGatewayPayload) { if (channel) channel.lastMessageId = payload.id; const guild = payload.guildId - ? await cacheHandlers.get("guilds", payload.guildId) - : undefined; + ? await cacheHandlers.get("guilds", payload.guildId) + : undefined; if (payload.member && guild) { // If in a guild cache the author as a member const discordenoMember = await structures.createDiscordenoMember( - { ...payload.member, user: payload.author } as DiscordGuildMemberWithUser, - guild.id, + {...payload.member, user: payload.author} as DiscordGuildMemberWithUser, + guild.id, ); await cacheHandlers.set("members", discordenoMember.id, discordenoMember); } - await Promise.all(payload.mentions.map(async (mention) => { - // Cache the member if its a valid member - if (mention.member && guild) { - const discordenoMember = await structures.createDiscordenoMember( - { ...mention.member, user: mention } as DiscordGuildMemberWithUser, - guild.id, - ); + if (payload.mentions) { + await Promise.all(payload.mentions.map(async (mention) => { + // Cache the member if its a valid member + if (mention.member && guild) { + const discordenoMember = await structures.createDiscordenoMember( + {...mention.member, user: mention} as DiscordGuildMemberWithUser, + guild.id, + ); - return cacheHandlers.set( - "members", - mention.id, - discordenoMember, - ); - } - })); + return cacheHandlers.set( + "members", + mention.id, + discordenoMember, + ); + } + })); + } const message = await structures.createDiscordenoMessage( - data.d as DiscordMessage, + data.d as DiscordMessage, ); // Cache the message await cacheHandlers.set("messages", payload.id, message);