Jeg innser at dette er en post som nok de aller færreste har interesse av, men jeg syntes det var gøy å få til, så kanskje noen får inspirasjon til noe lignende.
Med Elgato Stream Deck er det lett å lage en funksjon som automatisk poster en tvitring på Twitter, en melding på Discord, eller starter en strømming på Twitch, men jeg hadde lyst til å se om jeg fikk til å lage en funksjon som postet noe på det åpne sosiale mediet Mastodon.
Her er hvordan jeg fikk det til ved bruk av IFTTT tjenesten.
IFTTT står for IF This Then That og er en skytjeneste der du kan sette opp automatiske regler som gjør automatiserte oppgaver for deg. Stream Deck har en plugin som integrerer med IFTTT.
Så tanken min her er å få Stream Deck til å sende en beskjed til IFTTT som så snakker med Mastodon og poster ett innlegg på min profil der.
Master Key fra IFTTT
Det aller første du må gjøre, er å hente ut din Master Key fra IFTTT. Om du ikke har en konto hos IFTTT må du lage det først. Så går du til https://ifttt.com/maker_webhooks og finner den der. Kopier denne nøkkelen.
Lage en Mastodon app
Det neste du må gjøre, er å lage en Mastodon App. Hva er det, spør du kanskje nå!? Det er i praksis bare at du setter opp tilgangsnøkler for en annen tjeneste som skal kunne gjøre ting med profilen din, som for eksempel å poste en tut på dine vegne.
Gi den ett valgfritt navn og i «Applikasjonsnettside» feltet skriver du inn :
https://maker.ifttt.com/use/[din_IFTT_master_key]
Det eneste mer du trenger å gjøre er å krysse av for før du lagrer er:
write:statuses
«Write» er krysset av fra før, bare legg til «write:statuses».
Etter å ha lagret, skriv så ned din «tilgangsnøkkel» (Access Token). Den trenger du i neste sted.
NB: Du trenger ikke fylle inn «Omdirigerings-URI», det fyller Mastodon inn selv.
Lag selve IFTTT applet’en
Nå må du tilbake til IFTTT for å lage applet’en som skal poste en status til Mastodon.
Klikk på «If This», søk opp «Webhooks» og velg «Receive a web request». Gi den ett navn, for eksempel «Mastodon_Status».
Så velger du «Then That», søker igjen opp «Webhooks» og velger «Make a web request» og fyller ut som følger (bytt ut URI med din instans sin URI):
Felter som må fylles ut:
- URL: https://[din_instans_URI]/api/v1/statuses
- Method: POST
- Content Type: application/xwww.form-urlencoded
- Additional Headers: Authorization: Bearer [din_mastodon_tilgangsnøkkel]
Pass på å ha med «Authorization: Bearer» som tekst før tilgangsnøkkelen.
Det neste du trenger å fylle ut er hva du skal poste til Mastodon i «Body». Du kan dessverre ikke poste bilder, kun tekst. Pass på å ha <<< foran og bak teksten >>>. Eksempel:
Da er du ferdig med å lage en IFTTT handling.
Sette opp Stream Deck
I Stream Deck lager du en «Custom» og «IFTTT» handling:
I «Maker Key» limer du inn samme nøkkel som du fikk laget i første steg i denne guiden. I «Event Name» må du ha helt likt navn som det du valgte under «If This» steget.
Det er egentlig alt. Du kan legge til et kult ikon som passer deg. Når du trykker på knappen vil en tut alla dette dukke opp på Mastodon:
I IFTTT kan du også sjekke aktivitetsloggen din for å se at handlingen har blitt utført:
Takk for bra info. Forsøker selv å koble opp posting via IFTTT, men får alltid 422-feilmelding der. Noen ideer til feilsøking?
Se det jeg skrev om 422 i bloggposten om WordPress og Mastodon. Det er antagelig fordi du velger et felt som inkluderer HTML kode i statusmeldingen.