From 9253d734fec1d3a93edf9ee21309b52c603c9208 Mon Sep 17 00:00:00 2001 From: port Date: Sun, 9 Feb 2025 04:10:50 +0000 Subject: [PATCH] fix(MessageBurst): cleanup and add new option (#143) * remove debug logs never was necessary * do not edit last message if the message is a reply * implement shouldMergeWithAttachment --- src/equicordplugins/messageBurst/index.ts | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/equicordplugins/messageBurst/index.ts b/src/equicordplugins/messageBurst/index.ts index bcf3d40c..cefd7f64 100644 --- a/src/equicordplugins/messageBurst/index.ts +++ b/src/equicordplugins/messageBurst/index.ts @@ -10,7 +10,7 @@ import definePlugin, { OptionType } from "@utils/types"; import { ChannelStore, MessageActions, MessageStore, UserStore } from "@webpack/common"; import { Channel, Message } from "discord-types/general"; -function shouldEdit(channel: Channel, message: Message, timePeriod: number) { +function shouldEdit(channel: Channel, message: Message, timePeriod: number, shouldMergeWithAttachment: boolean) { let should = true; if (channel.isGroupDM()) { @@ -23,6 +23,14 @@ function shouldEdit(channel: Channel, message: Message, timePeriod: number) { should = false; } + if (document.querySelector('[class^="replyBar__"]')) { + should = false; + } + + if (message.attachments.length > 0 && !shouldMergeWithAttachment) { + should = false; + } + // @ts-ignore const timestamp = new Date(message.timestamp); const now = new Date(); @@ -46,6 +54,11 @@ export default definePlugin({ type: OptionType.NUMBER, description: "The duration of bursts (in seconds).", default: 3 + }, + shouldMergeWithAttachment: { + type: OptionType.BOOLEAN, + description: "Should the message be merged if the last message has an attachment?", + default: false } }), onBeforeMessageSend(channelId, message) { @@ -60,9 +73,7 @@ export default definePlugin({ const channel = ChannelStore.getChannel(channelId); - const { should, content } = shouldEdit(channel, lastMessage as Message, this.settings.store.timePeriod); - - console.log(should, content, this.settings.store.timePeriod); + const { should, content } = shouldEdit(channel, lastMessage as Message, this.settings.store.timePeriod, this.settings.store.shouldMergeWithAttachment); if (should) { MessageActions.editMessage(channelId, lastMessageId, {