From 1b639072561c0cae5be46d72dec716622dba4c88 Mon Sep 17 00:00:00 2001 From: Skillz Date: Wed, 18 Nov 2020 12:29:57 -0500 Subject: [PATCH] more places to change --- src/controllers/messages.ts | 16 +++++----------- src/controllers/reactions.ts | 21 ++++++++------------- src/handlers/message.ts | 8 ++++---- 3 files changed, 17 insertions(+), 28 deletions(-) diff --git a/src/controllers/messages.ts b/src/controllers/messages.ts index 3f4298858..6f34f8005 100644 --- a/src/controllers/messages.ts +++ b/src/controllers/messages.ts @@ -19,26 +19,20 @@ export async function handleInternalMessageCreate(data: DiscordPayload) { ? await cacheHandlers.get("guilds", payload.guild_id) : undefined; - if (payload.member) { + if (payload.member && guild) { // If in a guild cache the author as a member - guild?.members.set( - payload.author.id, - await structures.createMember( + await structures.createMember( { ...payload.member, user: payload.author }, guild.id, - ), ); } - payload.mentions.forEach(async (mention) => { + payload.mentions.forEach((mention) => { // Cache the member if its a valid member - if (mention.member) { - guild?.members.set( - mention.id, - await structures.createMember( + if (mention.member && guild) { + structures.createMember( { ...mention.member, user: mention }, guild.id, - ), ); } }); diff --git a/src/controllers/reactions.ts b/src/controllers/reactions.ts index 3e867a9b8..3a924d0ca 100644 --- a/src/controllers/reactions.ts +++ b/src/controllers/reactions.ts @@ -39,13 +39,9 @@ export async function handleInternalMessageReactionAdd(data: DiscordPayload) { if (payload.member && payload.guild_id) { const guild = await cacheHandlers.get("guilds", payload.guild_id); - guild?.members.set( - payload.member.user.id, - await structures.createMember( - payload.member, - guild.id, - ), - ); + if (guild) { + await structures.createMember(payload.member, guild.id); + } } const uncachedOptions = { @@ -95,13 +91,12 @@ export async function handleInternalMessageReactionRemove( if (payload.member && payload.guild_id) { const guild = await cacheHandlers.get("guilds", payload.guild_id); - guild?.members.set( - payload.member.user.id, + if (guild) { await structures.createMember( - payload.member, - guild.id, - ), - ); + payload.member, + guild.id, + ); + } } const uncachedOptions = { diff --git a/src/handlers/message.ts b/src/handlers/message.ts index f5f8f5971..feb33dd48 100644 --- a/src/handlers/message.ts +++ b/src/handlers/message.ts @@ -225,11 +225,11 @@ export async function getReactions(message: Message, reaction: string) { const result = (await RequestManager.get( endpoints.CHANNEL_MESSAGE_REACTION(message.channelID, message.id, reaction), )) as UserPayload[]; - const guild = await cacheHandlers.get("guilds", message.guildID); - return result.map((res) => { - return guild?.members.get(res.id) || res; - }); + return Promise.all(result.map(async (res) => { + const member = await cacheHandlers.get("members", res.id); + return member || res; + })); } /** Edit the message. */