From 06c4f25a86af9dd91ea40619a4cd829ca593a220 Mon Sep 17 00:00:00 2001 From: thororen1234 <78185467+thororen1234@users.noreply.github.com> Date: Wed, 22 Oct 2025 16:16:45 -0400 Subject: [PATCH] MLE: Hide From Other Loggers --- .../messageLoggerEnhanced/index.tsx | 7 +---- .../messageLoggerEnhanced/settings.tsx | 10 +++++-- .../utils/contextMenu.tsx | 29 ++++++++++++++++++- 3 files changed, 37 insertions(+), 9 deletions(-) diff --git a/src/equicordplugins/messageLoggerEnhanced/index.tsx b/src/equicordplugins/messageLoggerEnhanced/index.tsx index 618124661..cc30b2403 100644 --- a/src/equicordplugins/messageLoggerEnhanced/index.tsx +++ b/src/equicordplugins/messageLoggerEnhanced/index.tsx @@ -41,12 +41,7 @@ let oldGetMessage: typeof MessageStore.getMessage; const handledMessageIds = new Set(); async function messageDeleteHandler(payload: MessageDeletePayload & { isBulk: boolean; }) { - if (payload.mlDeleted) { - if (settings.store.permanentlyRemoveLogByDefault) - await idb.deleteMessageIDB(payload.id); - - return; - } + if (payload.mlDeleted) return; if (handledMessageIds.has(payload.id)) { // Flogger.warn("skipping duplicate message", payload.id); diff --git a/src/equicordplugins/messageLoggerEnhanced/settings.tsx b/src/equicordplugins/messageLoggerEnhanced/settings.tsx index fb6153ba2..bc49c91c2 100644 --- a/src/equicordplugins/messageLoggerEnhanced/settings.tsx +++ b/src/equicordplugins/messageLoggerEnhanced/settings.tsx @@ -98,10 +98,10 @@ export const settings = definePluginSettings({ description: "Always log current selected channel. Blacklisted channels/users will still be ignored.", }, - permanentlyRemoveLogByDefault: { + hideMessageFromMessageLoggers: { default: false, type: OptionType.BOOLEAN, - description: "Vencord's base MessageLogger remove log button will delete logs permanently", + description: "When enabled, a context menu button will be added to messages to allow you to delete messages without them being logged by other loggers. Might not be safe, use at your own risk." }, ShowLogsButton: { @@ -117,6 +117,12 @@ export const settings = definePluginSettings({ description: "Number of messages to display at once in logs & number of messages to load when loading more messages in logs.", }, + hideMessageFromMessageLoggersDeletedMessage: { + default: "redacted eh", + type: OptionType.STRING, + description: "The message content to replace the message with when using the hide message from message loggers feature.", + }, + messageLimit: { default: 200, type: OptionType.NUMBER, diff --git a/src/equicordplugins/messageLoggerEnhanced/utils/contextMenu.tsx b/src/equicordplugins/messageLoggerEnhanced/utils/contextMenu.tsx index fb876fa9f..c17d66f2b 100644 --- a/src/equicordplugins/messageLoggerEnhanced/utils/contextMenu.tsx +++ b/src/equicordplugins/messageLoggerEnhanced/utils/contextMenu.tsx @@ -5,7 +5,7 @@ */ import { addContextMenuPatch, NavContextMenuPatchCallback, removeContextMenuPatch } from "@api/ContextMenu"; -import { FluxDispatcher, Menu, React, Toasts } from "@webpack/common"; +import { FluxDispatcher, Menu, MessageActions, React, Toasts, UserStore } from "@webpack/common"; import { openLogModal } from "../components/LogsModal"; import { deleteMessageIDB } from "../db"; @@ -114,6 +114,33 @@ export const contextMenuPath: NavContextMenuPatchCallback = (children, props) => {renderListOption("whitelistedIds", IdType as idKeys, props)} ))} + { + settings.store.hideMessageFromMessageLoggers + && props.navId === "message" + && props.message?.author?.id === UserStore.getCurrentUser().id + && props.message?.deleted === false + && ( + <> + + { + await MessageActions.deleteMessage(props.message.channel_id, props.message.id); + MessageActions._sendMessage(props.message.channel_id, { + "content": settings.store.hideMessageFromMessageLoggersDeletedMessage, + "tts": false, + "invalidEmojis": [], + "validNonShortcutEmojis": [] + }, { nonce: props.message.id }); + }} + + /> + + ) + } ); }