From 7ab0711cf2df98b3474a035fb184c33f2b543c8e Mon Sep 17 00:00:00 2001 From: Mirco Wittrien Date: Fri, 4 Oct 2024 15:32:15 +0200 Subject: [PATCH] Update SplitLargeMessages.plugin.js --- .../SplitLargeMessages.plugin.js | 71 +++++++++++++++++-- 1 file changed, 64 insertions(+), 7 deletions(-) diff --git a/Plugins/SplitLargeMessages/SplitLargeMessages.plugin.js b/Plugins/SplitLargeMessages/SplitLargeMessages.plugin.js index 6f3a0fc066..4ba7d12534 100644 --- a/Plugins/SplitLargeMessages/SplitLargeMessages.plugin.js +++ b/Plugins/SplitLargeMessages/SplitLargeMessages.plugin.js @@ -2,7 +2,7 @@ * @name SplitLargeMessages * @author DevilBro * @authorId 278543574059057154 - * @version 1.8.2 + * @version 1.8.3 * @description Allows you to enter larger Messages, which will automatically split into several smaller Messages * @invite Jx3TjNS * @donate https://www.paypal.me/MircoWittrien @@ -14,7 +14,9 @@ module.exports = (_ => { const changeLog = { - + added: { + "Right Click Option": "Added right click option disable splitting" + } }; return !window.BDFDB_Global || (!window.BDFDB_Global.loaded && !window.BDFDB_Global.started) ? class { @@ -63,6 +65,7 @@ module.exports = (_ => { } : (([Plugin, BDFDB]) => { const messageDelay = 2000; //changing at own risk, might result in bans or mutes let maxMessageLength = 2000; + let enabled = true; return class SplitLargeMessages extends Plugin { onLoad () { @@ -162,13 +165,25 @@ module.exports = (_ => { BDFDB.PatchUtils.forceAllUpdates(this); } } + + onTextAreaContextMenu (e) { + let [children, index] = BDFDB.ContextMenuUtils.findItem(e.returnvalue, {id: "devmode-copy-id", group: true}); + children.splice(index > -1 ? index : children.length, 0, BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuGroup, { + children: BDFDB.ContextMenuUtils.createItem(BDFDB.LibraryComponents.MenuItems.MenuCheckboxItem, { + label: this.labels.context_enable, + id: BDFDB.ContextMenuUtils.createItemId(this.name, "enabled"), + checked: enabled, + action: state => {enabled = state;} + }) + })); + } processChannelTextAreaContainer (e) { if (e.instance.props.type != BDFDB.DiscordConstants.ChannelTextAreaTypes.NORMAL && e.instance.props.type != BDFDB.LibraryComponents.ChannelTextAreaTypes.SIDEBAR) return; const splitMessageLength = this.settings.amounts.splitCounter < 1000 || this.settings.amounts.splitCounter > maxMessageLength ? maxMessageLength : this.settings.amounts.splitCounter; if (!e.returnvalue) { BDFDB.PatchUtils.patch(this, e.instance.props, "onSubmit", {instead: e2 => { - if (e2.methodArguments[0].value.length > splitMessageLength && !this.isSlowDowned(e.instance.props.channel)) { + if (enabled && e2.methodArguments[0].value.length > splitMessageLength && !this.isSlowDowned(e.instance.props.channel)) { e2.stopOriginalMethodCall(); let messages = this.formatText(e2.methodArguments[0].value).filter(n => n); for (let i in messages) BDFDB.TimeUtils.timeout(_ => { @@ -186,7 +201,7 @@ module.exports = (_ => { } else { let [children, index] = BDFDB.ReactUtils.findParent(e.returnvalue, {name: "ChannelTextAreaCounter"}); - if (index > -1 && children[index].props.textValue && children[index].props.textValue.length > splitMessageLength && !this.isSlowDowned(e.instance.props.channel)) children[index] = BDFDB.ReactUtils.createElement("div", { + if (enabled && index > -1 && children[index].props.textValue && children[index].props.textValue.length > splitMessageLength && !this.isSlowDowned(e.instance.props.channel)) children[index] = BDFDB.ReactUtils.createElement("div", { className: BDFDB.disCNS.textareacharcounter + BDFDB.disCN.textareacharcountererror, children: BDFDB.ReactUtils.createElement(BDFDB.LibraryComponents.TooltipContainer, { text: Math.ceil(children[index].props.textValue.length / splitMessageLength * (39/40)) + " " + BDFDB.LanguageUtils.LanguageStrings.MESSAGES, @@ -258,110 +273,152 @@ module.exports = (_ => { switch (BDFDB.LanguageUtils.getLanguage().id) { case "bg": // Bulgarian return { + context_enable: "Разделете големите съобщения на по-малки", toast_allsent: "Всички изпратени съобщения" }; + case "cs": // Czech + return { + context_enable: "Rozdělte velké zprávy na menší zprávy", + toast_allsent: "Všechny zprávy odeslány" + }; case "da": // Danish return { + context_enable: "Opdel store beskeder i mindre beskeder", toast_allsent: "Alle beskeder sendt" }; case "de": // German return { + context_enable: "Spalte große in kleinere Nachrichten auf", toast_allsent: "Alle Nachrichten gesendet" }; case "el": // Greek return { + context_enable: "Διαχωρίστε τα μεγάλα μηνύματα σε μικρότερα μηνύματα", toast_allsent: "Όλα τα μηνύματα εστάλησαν" }; case "es": // Spanish return { + context_enable: "Dividir mensajes grandes en mensajes más pequeños", + toast_allsent: "Todos los mensajes enviados" + }; + case "es-419": // Spanish (Latin America) + return { + context_enable: "Dividir mensajes grandes en mensajes más pequeños", toast_allsent: "Todos los mensajes enviados" }; case "fi": // Finnish return { + context_enable: "Jaa suuret viestit pienemmiksi viesteiksi", toast_allsent: "Kaikki viestit lähetetty" }; case "fr": // French return { + context_enable: "Divisez les gros messages en messages plus petits", toast_allsent: "Tous les messages envoyés" }; + case "hi": // Hindi + return { + context_enable: "बड़े संदेशों को छोटे संदेशों में विभाजित करें", + toast_allsent: "सभी संदेश भेजे गए" + }; case "hr": // Croatian return { + context_enable: "Podijelite velike poruke u manje poruke", toast_allsent: "Sve poruke poslane" }; case "hu": // Hungarian return { + context_enable: "A nagy üzenetek felosztása kisebb üzenetekre", toast_allsent: "Minden üzenet elküldve" }; case "it": // Italian return { + context_enable: "Suddividi messaggi di grandi dimensioni in messaggi più piccoli", toast_allsent: "Tutti i messaggi inviati" }; case "ja": // Japanese return { + context_enable: "大きなメッセージを小さなメッセージに分割する", toast_allsent: "送信されたすべてのメッセージ" }; case "ko": // Korean return { + context_enable: "큰 메시지를 작은 메시지로 분할", toast_allsent: "보낸 모든 메시지" }; case "lt": // Lithuanian return { + context_enable: "Padalinkite didelius pranešimus į mažesnius pranešimus", toast_allsent: "Visi pranešimai išsiųsti" }; case "nl": // Dutch return { + context_enable: "Splits grote berichten op in kleinere berichten", toast_allsent: "Alle berichten zijn verzonden" }; case "no": // Norwegian return { + context_enable: "Del store meldinger i mindre meldinger", toast_allsent: "Alle meldinger sendt" }; case "pl": // Polish return { + context_enable: "Podziel duże wiadomości na mniejsze", toast_allsent: "Wszystkie wiadomości wysłane" }; - case "pt-BR": // Portuguese (Brazil) + case "pt-BR": // Portuguese (Brazil) return { + context_enable: "Divida mensagens grandes em mensagens menores", toast_allsent: "Todas as mensagens enviadas" }; case "ro": // Romanian return { + context_enable: "Împărțiți mesajele mari în mesaje mai mici", toast_allsent: "Toate mesajele trimise" }; case "ru": // Russian return { + context_enable: "Разделите большие сообщения на более мелкие сообщения", toast_allsent: "Все сообщения отправлены" }; case "sv": // Swedish return { + context_enable: "Dela upp stora meddelanden i mindre meddelanden", toast_allsent: "Alla meddelanden skickade" }; case "th": // Thai return { + context_enable: "แบ่งข้อความขนาดใหญ่เป็นข้อความขนาดเล็ก", toast_allsent: "ส่งข้อความทั้งหมดแล้ว" }; case "tr": // Turkish return { + context_enable: "Büyük Mesajları daha küçük Mesajlara bölün", toast_allsent: "Tüm mesajlar gönderildi" }; case "uk": // Ukrainian return { + context_enable: "Розділіть великі повідомлення на менші", toast_allsent: "Усі повідомлення надіслано" }; case "vi": // Vietnamese return { + context_enable: "Chia tin nhắn lớn thành tin nhắn nhỏ hơn", toast_allsent: "Tất cả tin nhắn đã gửi" }; - case "zh-CN": // Chinese (China) + case "zh-CN": // Chinese (China) return { + context_enable: "将大消息拆分为较小的消息", toast_allsent: "已发送所有消息" }; - case "zh-TW": // Chinese (Taiwan) + case "zh-TW": // Chinese (Taiwan) return { + context_enable: "將大消息拆分為較小的消息", toast_allsent: "已發送所有消息" }; default: // English return { + context_enable: "Split large Messages into smaller Messages", toast_allsent: "All Messages sent" }; }