diff --git a/src/plugins/fakeNitro/index.tsx b/src/plugins/fakeNitro/index.tsx index 7927f405d..f480745b3 100644 --- a/src/plugins/fakeNitro/index.tsx +++ b/src/plugins/fakeNitro/index.tsx @@ -74,6 +74,7 @@ const fakeNitroEmojiRegex = /\/emojis\/(\d+?)\.(png|webp|gif)/; const fakeNitroStickerRegex = /\/stickers\/(\d+?)\./; const fakeNitroGifStickerRegex = /\/attachments\/\d+?\/\d+?\/(\d+?)\.gif/; const hyperLinkRegex = /\[.+?\]\((https?:\/\/.+?)\)/; +const hyperLinkOnlyRegex = new RegExp(`^${hyperLinkRegex.source}$`); const mediaSizes = [16, 32, 48, 56, 64, 96, 128, 160, 256, 512, 1024]; const DEFAULT_EMOJI_SIZE = 48; @@ -573,6 +574,7 @@ export default definePlugin({ const contentItems = message.content.split(/\s/); if (settings.store.transformCompoundSentence) itemsToMaybePush.push(...contentItems); else if (contentItems.length === 1) itemsToMaybePush.push(contentItems[0]); + else if (hyperLinkOnlyRegex.test(message.content)) itemsToMaybePush.push(message.content); itemsToMaybePush.push(...message.attachments.filter(attachment => attachment.content_type === "image/gif").map(attachment => attachment.url)); @@ -617,7 +619,7 @@ export default definePlugin({ shouldIgnoreEmbed(embed: Message["embeds"][number], message: Message) { try { const contentItems = message.content.split(/\s/); - if (contentItems.length > 1 && !settings.store.transformCompoundSentence) return false; + if (contentItems.length > 1 && !settings.store.transformCompoundSentence && !hyperLinkOnlyRegex.test(message.content)) return false; switch (embed.type) { case "image": { @@ -626,6 +628,7 @@ export default definePlugin({ if ( !settings.store.transformCompoundSentence && !contentItems.some(item => item === url || item.match(hyperLinkRegex)?.[1] === url) + && !hyperLinkOnlyRegex.test(message.content) ) return false; if (settings.store.transformEmojis) {