From 90b9d31320263b62ae6bc8c995ed11197c7a290e Mon Sep 17 00:00:00 2001 From: almeidx Date: Wed, 1 Sep 2021 17:04:56 +0100 Subject: [PATCH] clean up --- backend/src/data/GuildSavedMessages.ts | 31 +++++++++++++++++++ .../events/runAutomodOnThreadEvents.ts | 18 +++++------ 2 files changed, 40 insertions(+), 9 deletions(-) diff --git a/backend/src/data/GuildSavedMessages.ts b/backend/src/data/GuildSavedMessages.ts index e6c51e91..43cffcaf 100644 --- a/backend/src/data/GuildSavedMessages.ts +++ b/backend/src/data/GuildSavedMessages.ts @@ -25,7 +25,28 @@ export class GuildSavedMessages extends BaseGuildRepository { this.toBePermanent = new Set(); } +<<<<<<< HEAD protected msgToSavedMessageData(msg: Message): ISavedMessageData { +======= + public static msgToSavedMessage(message: Message): SavedMessage { + const postedAt = moment.utc(message.createdTimestamp, "x").format("YYYY-MM-DD HH:mm:ss"); + + return { + data: GuildSavedMessages.msgToSavedMessageData(message), + id: message.id, + guild_id: (message.channel as GuildChannel).guildId, + channel_id: message.channelId, + user_id: message.author.id, + is_bot: message.author.bot, + posted_at: postedAt, + // @ts-expect-error + deleted_at: null, + is_permanent: false, + }; + } + + public static msgToSavedMessageData(msg: Message): ISavedMessageData { +>>>>>>> clean up const data: ISavedMessageData = { author: { username: msg.author.username, @@ -206,8 +227,12 @@ export class GuildSavedMessages extends BaseGuildRepository { await this.insertBulk(items); } +<<<<<<< HEAD protected async msgToInsertReadyEntity(msg: Message): Promise> { const savedMessageData = this.msgToSavedMessageData(msg); +======= + const savedMessageData = GuildSavedMessages.msgToSavedMessageData(msg); +>>>>>>> clean up const postedAt = moment.utc(msg.createdTimestamp, "x").format("YYYY-MM-DD HH:mm:ss"); return { @@ -307,9 +332,15 @@ export class GuildSavedMessages extends BaseGuildRepository { this.events.emit(`update:${id}`, [newMessage, oldMessage]); } +<<<<<<< HEAD async saveEditFromMsg(msg: Message): Promise { const newData = this.msgToSavedMessageData(msg); await this.saveEdit(msg.id, newData); +======= + async saveEditFromMsg(msg: Message) { + const newData = GuildSavedMessages.msgToSavedMessageData(msg); + return this.saveEdit(msg.id, newData); +>>>>>>> clean up } async setPermanent(id: string): Promise { diff --git a/backend/src/plugins/Automod/events/runAutomodOnThreadEvents.ts b/backend/src/plugins/Automod/events/runAutomodOnThreadEvents.ts index d98d52d8..38787bee 100644 --- a/backend/src/plugins/Automod/events/runAutomodOnThreadEvents.ts +++ b/backend/src/plugins/Automod/events/runAutomodOnThreadEvents.ts @@ -1,5 +1,6 @@ import { typedGuildEventListener } from "knub"; import { RecentActionType } from "../constants"; +import { GuildSavedMessages } from "../../../data/GuildSavedMessages"; import { runAutomod } from "../functions/runAutomod"; import { AutomodContext, AutomodPluginType } from "../types"; @@ -19,18 +20,17 @@ export const RunAutomodOnThreadCreate = typedGuildEventListener c.id === thread.parentId); - if (sourceChannel?.isText()) { + // This is a hack to make this trigger compatible with the reply action + const sourceChannel = thread.parent ?? pluginData.client.channels.cache.find((c) => c.id === thread.parentId); + messageBlock: if (sourceChannel?.isText()) { const sourceMessage = sourceChannel.messages.cache.find( (m) => m.thread?.id === thread.id || m.reference?.channelId === thread.id, ); - if (sourceMessage) { - const message = await pluginData.state.savedMessages.find(sourceMessage.id); - if (message) { - message.channel_id = thread.id; - context.message = message; - } - } + if (!sourceMessage) break messageBlock; + + const savedMessage = GuildSavedMessages.msgToSavedMessage(sourceMessage); + savedMessage.channel_id = thread.id; + context.message = savedMessage; } pluginData.state.queue.add(() => {