From 44779f7a232f89b31d808073b7f785582f5d63fc Mon Sep 17 00:00:00 2001 From: Cynthia Date: Thu, 5 Jan 2023 21:20:31 -0700 Subject: [PATCH] fedimbed: strip zwsp from bridge messages, only suppress embeds if flag isnt existing and after message creation --- src/modules/fedimbed.js | 54 ++++++++++++++++++++++------------------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/src/modules/fedimbed.js b/src/modules/fedimbed.js index da05d03..5349f79 100644 --- a/src/modules/fedimbed.js +++ b/src/modules/fedimbed.js @@ -503,32 +503,36 @@ async function processUrl(msg, url) { } } - // NB: OceanicJS/Oceanic#32 - //await msg.edit({flags: MessageFlags.SUPPRESS_EMBEDS}).catch(() => {}); - await hf.bot.rest - .authRequest({ - method: "PATCH", - path: Routes.CHANNEL_MESSAGE(msg.channel.id, msg.id), - json: { - flags: MessageFlags.SUPPRESS_EMBEDS, + await msg.channel + .createMessage({ + content: + cw && (images.length > 0 || videos.length > 0 || audios.length > 0) + ? `:warning: ${cw} || ${url} ||` + : "", + embeds, + files, + allowedMentions: { + repliedUser: false, + }, + messageReference: { + messageID: msg.id, }, }) - .catch(() => {}); - - await msg.channel.createMessage({ - content: - cw && (images.length > 0 || videos.length > 0 || audios.length > 0) - ? `:warning: ${cw} || ${url} ||` - : "", - embeds, - files, - allowedMentions: { - repliedUser: false, - }, - messageReference: { - messageID: msg.id, - }, - }); + .then(() => { + if ((msg.flags & MessageFlags.SUPPRESS_EMBEDS) === 0) { + // NB: OceanicJS/Oceanic#32 + //msg.edit({flags: MessageFlags.SUPPRESS_EMBEDS}).catch(() => {}); + hf.bot.rest + .authRequest({ + method: "PATCH", + path: Routes.CHANNEL_MESSAGE(msg.channel.id, msg.id), + json: { + flags: MessageFlags.SUPPRESS_EMBEDS, + }, + }) + .catch(() => {}); + } + }); } events.add("messageCreate", "fedimbed", async function (msg) { @@ -540,7 +544,7 @@ events.add("messageCreate", "fedimbed", async function (msg) { if (URLS_REGEX.test(msg.content)) { const urls = msg.content.match(URLS_REGEX); for (let url of urls) { - url = url.trim(); + url = url.trim().replace("@\u200b", "@").replace("@%E2%80%8B", "@"); for (const service of Object.keys(PATH_REGEX)) { const regex = PATH_REGEX[service]; const urlObj = new URL(url);