2. 10. 2023

IFTTT applet BlueSky→Mastodon(Exclude Mentions)

Pro svou potřebu jsem napsal IFTTT applet pro crossposting příspěvků z BlueSky na Mastodon. Bohužel se mi nedaří tento applet uvolnit jako veřejný, tak ho publikuji touto cestou a pokud to půjde, uvolním jej i na IFTTT. Applet využívá filter, je tedy možné, že bude chtít placený IFTTT membership.

Pro svou potřebu jsem napsal IFTTT applet pro crossposting příspěvků z BlueSky na Mastodon. Bohužel se mi nedaří tento applet uvolnit jako veřejný, tak ho publikuji touto cestou a pokud to bude možné, uvolním jej i na IFTTT.

Applet využívá služby RSS Feed a Webhook a také filter, je tedy možné, že bude chtít placený IFTTT membership. Bez toho filtru to bohužel nejde, čistí HTML tagy a formátování. Pokud vás toto limituje, omlouvám se.

IF THIS

Jako zdroj použijte službu RSS Feed, jako spoušťeč New feed item a jako Feed následující adresu:

https://bluestream.deno.dev/[your BlueSky username].bsky.social?repost=include&reply=exclude

To je RSS Feed vašeho BlueSky účtu.

THAN THAT

Jako cíl použijeme službu Webhooks, kterou stačí nakonfigurovat pro Mastodon. Jako spoušť je Make a web request…

Do URL zadejte custom adresu s vaší instancí

Zvolte Metodu POST, a Content type application/x-www-form-urlencoded.

Additional header musí obsahovat Authorization: Bearer [Your access token], který získáte v Mastodonu - Nastavení - Vývoj (návod)

Do BODY stačí zadat jen status=<<<EntryTitle>>>, bude modnuto filtrem.

FILTER

IFTTT umožňuje vytvářet filtry mírně omezeným JavaScriptem. Pro jeho přidání klikněte na symbol + mezi IF a THAN THAT. My použijeme následující kód a uložíme přes SAVE.

let newContent = Feed.newFeedItem.EntryContent;

let entryURL = Feed.newFeedItem.EntryUrl;

newContent = newContent.toString();

newContent = newContent.replace(/<br>/ig, '\n').replace(/ /g, ' ').replace(/ /g, ' ');

newContent = newContent.replace(/(<([^>]+)>)/ig, ' ');

const requestBody = `status=${newContent}\n\n${entryURL}`;

MakerWebhooks.makeWebRequest.setBody(requestBody);

Pak už jen stačí uložit applet, pojmenovat si jej a jít to vyzkoušet.

A to je všechno...d8-D

P.S. Poděkování patří Adam807 za to, že jsem mohl použít IF z jeho appletu.