diff --git a/src/modules/fedimbed.js b/src/modules/fedimbed.js index 2cd6e52..94c6187 100644 --- a/src/modules/fedimbed.js +++ b/src/modules/fedimbed.js @@ -105,6 +105,14 @@ async function signedFetch(url, options) { async function processUrl(msg, url, spoiler = false) { let urlObj = new URL(url); + + // some limmy instances have old reddit frontend subdomains + // but these frontends are just frontends and dont actually expose the API + if (urlObj.hostname.startsWith("old.")) { + urlObj.hostname = urlObj.hostname.replace("old.", ""); + url = urlObj.href; + } + let platform = await resolvePlatform(url); let color = PLATFORM_COLORS[platform]; let platformName = platform @@ -364,9 +372,11 @@ async function processUrl(msg, url, spoiler = false) { if (!spoiler && postData.sensitive) { spoiler = true; } - emotes = postData.tag - .filter((x) => !!x.icon) - .map((x) => ({name: x.name, url: x.icon.url})); + + if (postData.tag) + emotes = postData.tag + .filter((x) => !!x.icon) + .map((x) => ({name: x.name, url: x.icon.url})); // NB: gts doesnt send singular attachments as areay const attachments = Array.isArray(postData.attachment)