diff --git a/src/equicordplugins/writeUpperCase/index.ts b/src/equicordplugins/writeUpperCase/index.ts index a19e9c9c2..263b1a231 100644 --- a/src/equicordplugins/writeUpperCase/index.ts +++ b/src/equicordplugins/writeUpperCase/index.ts @@ -20,16 +20,18 @@ const settings = definePluginSettings( ); const presendObject: MessageSendListener = (_, msg) => { - const sentences = msg.content.split(/(?<=\w\.)\s/); const blockedWordsArray: string[] = settings.store.blockedWords.split(", "); + const sentences = msg.content.split(/(?<=[.!?]+['")\]]*)(\s+)/); + + msg.content = sentences.map((element, i) => { + if (i % 2 === 1) return element; - msg.content = sentences.map(element => { if (!blockedWordsArray.some(word => element.toLowerCase().startsWith(word.toLocaleLowerCase()))) { return element.charAt(0).toUpperCase() + element.slice(1); } else { return element; } - }).join(" "); + }).join(""); }; export default definePlugin({