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, {