fix(handlers): add if payload.mentions

This commit is contained in:
TriForMine
2021-04-13 13:47:06 +02:00
parent b8ef1b7a2c
commit 0f8ca1dec2

View File

@@ -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);