From 5309571059529fee911baedc5b1e7c3ee9931274 Mon Sep 17 00:00:00 2001 From: MARCROCK22 <57925328+MARCROCK22@users.noreply.github.com> Date: Sat, 14 Dec 2024 20:05:15 -0400 Subject: [PATCH] fix: cache user on message events (#306) --- src/cache/index.ts | 32 +++++++++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/src/cache/index.ts b/src/cache/index.ts index 025c14b..40ef70c 100644 --- a/src/cache/index.ts +++ b/src/cache/index.ts @@ -198,7 +198,7 @@ export class Cache { return this.hasIntent('DirectMessages'); } - get hasBansIntent() { + get hasModerationIntent() { return this.hasIntent('GuildModeration'); } @@ -575,10 +575,36 @@ export class Cache { await this.stageInstances?.remove(event.d.id, event.d.guild_id); break; case 'MESSAGE_CREATE': - await this.messages?.set(event.d.id, event.d.channel_id, event.d); + { + if (this.messages !== undefined) { + const data: Parameters[0] = [ + ['messages', event.d, event.d.id, event.d.channel_id], + ['users', event.d.author, event.d.author.id], + ]; + + if (event.d.guild_id) { + if (event.d.member) data.push(['members', event.d.member, event.d.author.id, event.d.guild_id]); + } + + await this.bulkPatch(data); + } + } break; case 'MESSAGE_UPDATE': - await this.messages?.patch(event.d.id, event.d.channel_id, event.d); + { + if (this.messages !== undefined) { + const data: Parameters[0] = [ + ['messages', event.d, event.d.id, event.d.channel_id], + ['users', event.d.author, event.d.author.id], + ]; + + if (event.d.guild_id) { + if (event.d.member) data.push(['members', event.d.member, event.d.author.id, event.d.guild_id]); + } + + await this.bulkPatch(data); + } + } break; case 'MESSAGE_DELETE': await this.messages?.remove(event.d.id, event.d.channel_id);