From 0d1bfefce0904da3160fd67de5183790da6b6721 Mon Sep 17 00:00:00 2001 From: Dragory <2606411+Dragory@users.noreply.github.com> Date: Sat, 4 Sep 2021 19:05:47 +0300 Subject: [PATCH] Optimize/tweak message saving --- backend/src/data/GuildSavedMessages.ts | 3 -- .../MessageSaver/events/SaveMessagesEvts.ts | 35 +++++++++---------- backend/src/plugins/MessageSaver/types.ts | 1 - 3 files changed, 16 insertions(+), 23 deletions(-) diff --git a/backend/src/data/GuildSavedMessages.ts b/backend/src/data/GuildSavedMessages.ts index 0e7db243..462df642 100644 --- a/backend/src/data/GuildSavedMessages.ts +++ b/backend/src/data/GuildSavedMessages.ts @@ -226,9 +226,6 @@ export class GuildSavedMessages extends BaseGuildRepository { } async createFromMsg(msg: Message, overrides = {}) { - const existingSavedMsg = await this.find(msg.id); - if (existingSavedMsg) return; - // FIXME: Hotfix if (!msg.channel) { return; diff --git a/backend/src/plugins/MessageSaver/events/SaveMessagesEvts.ts b/backend/src/plugins/MessageSaver/events/SaveMessagesEvts.ts index 386549e6..42a6b982 100644 --- a/backend/src/plugins/MessageSaver/events/SaveMessagesEvts.ts +++ b/backend/src/plugins/MessageSaver/events/SaveMessagesEvts.ts @@ -29,17 +29,20 @@ export const MessageCreateEvt = messageSaverEvt({ return; } - meta.pluginData.state.queue.add(async () => { - if (recentlyCreatedMessages.includes(meta.args.message.id)) { - console.warn( - `Tried to save duplicate message from messageCreate event: ${meta.args.message.guildId} / ${meta.args.message.channelId} / ${meta.args.message.id}`, - ); - return; - } - recentlyCreatedMessages.push(meta.args.message.id); + // Don't save the bot's own messages + if (meta.args.message.author.id === meta.pluginData.client.user?.id) { + return; + } - await meta.pluginData.state.savedMessages.createFromMsg(meta.args.message); - }); + if (recentlyCreatedMessages.includes(meta.args.message.id)) { + console.warn( + `Tried to save duplicate message from messageCreate event: ${meta.args.message.guildId} / ${meta.args.message.channelId} / ${meta.args.message.id}`, + ); + return; + } + recentlyCreatedMessages.push(meta.args.message.id); + + await meta.pluginData.state.savedMessages.createFromMsg(meta.args.message); }, }); @@ -57,9 +60,7 @@ export const MessageUpdateEvt = messageSaverEvt({ return; } - meta.pluginData.state.queue.add(async () => { - await meta.pluginData.state.savedMessages.saveEditFromMsg(meta.args.newMessage as Message); - }); + await meta.pluginData.state.savedMessages.saveEditFromMsg(meta.args.newMessage as Message); }, }); @@ -74,9 +75,7 @@ export const MessageDeleteEvt = messageSaverEvt({ return; } - meta.pluginData.state.queue.add(async () => { - await meta.pluginData.state.savedMessages.markAsDeleted(msg.id); - }); + await meta.pluginData.state.savedMessages.markAsDeleted(msg.id); }, }); @@ -87,8 +86,6 @@ export const MessageDeleteBulkEvt = messageSaverEvt({ async listener(meta) { const ids = meta.args.messages.map(m => m.id); - meta.pluginData.state.queue.add(async () => { - await meta.pluginData.state.savedMessages.markBulkAsDeleted(ids); - }); + await meta.pluginData.state.savedMessages.markBulkAsDeleted(ids); }, }); diff --git a/backend/src/plugins/MessageSaver/types.ts b/backend/src/plugins/MessageSaver/types.ts index f8b481f7..28495da3 100644 --- a/backend/src/plugins/MessageSaver/types.ts +++ b/backend/src/plugins/MessageSaver/types.ts @@ -12,7 +12,6 @@ export interface MessageSaverPluginType extends BasePluginType { config: TConfigSchema; state: { savedMessages: GuildSavedMessages; - queue: Queue; }; }