From 356d8d8e5eb6ea030b756556428df4a5e64cae6e Mon Sep 17 00:00:00 2001 From: Hyper Date: Sat, 16 Mar 2024 03:27:59 +0100 Subject: [PATCH] feat(MessageLogger): Add delete & edit toggle (#2032) Co-authored-by: V --- src/plugins/messageLogger/index.tsx | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/src/plugins/messageLogger/index.tsx b/src/plugins/messageLogger/index.tsx index 8bc563b..26409b8 100644 --- a/src/plugins/messageLogger/index.tsx +++ b/src/plugins/messageLogger/index.tsx @@ -137,6 +137,16 @@ export default definePlugin({ ], onChange: () => addDeleteStyle() }, + logDeletes: { + type: OptionType.BOOLEAN, + description: "Whether to log deleted messages", + default: true, + }, + logEdits: { + type: OptionType.BOOLEAN, + description: "Whether to log edited messages", + default: true, + }, ignoreBots: { type: OptionType.BOOLEAN, description: "Whether to ignore messages by bots", @@ -197,8 +207,8 @@ export default definePlugin({ return cache; }, - shouldIgnore(message: any) { - const { ignoreBots, ignoreSelf, ignoreUsers, ignoreChannels, ignoreGuilds } = Settings.plugins.MessageLogger; + shouldIgnore(message: any, isEdit = false) { + const { ignoreBots, ignoreSelf, ignoreUsers, ignoreChannels, ignoreGuilds, logEdits, logDeletes } = Settings.plugins.MessageLogger; const myId = UserStore.getCurrentUser().id; return ignoreBots && message.author?.bot || @@ -206,6 +216,7 @@ export default definePlugin({ ignoreUsers.includes(message.author?.id) || ignoreChannels.includes(message.channel_id) || ignoreChannels.includes(ChannelStore.getChannel(message.channel_id)?.parent_id) || + (isEdit ? !logEdits : !logDeletes) || ignoreGuilds.includes(ChannelStore.getChannel(message.channel_id)?.guild_id); }, @@ -241,7 +252,7 @@ export default definePlugin({ match: /(MESSAGE_UPDATE:function\((\i)\).+?)\.update\((\i)/, replace: "$1" + ".update($3,m =>" + - " (($2.message.flags & 64) === 64 || $self.shouldIgnore($2.message)) ? m :" + + " (($2.message.flags & 64) === 64 || $self.shouldIgnore($2.message, true)) ? m :" + " $2.message.content !== m.editHistory?.[0]?.content && $2.message.content !== m.content ?" + " m.set('editHistory',[...(m.editHistory || []), $self.makeEdit($2.message, m)]) :" + " m" +