Mastodon: toot da command line
Non tutti sanno che... E' semplicissimo fare un post (toot) sul proprio profilo #mastodon con un semplice comando, ad esempio utilizzando #curl.
Vediamo come fare.
Abilitazione e creazione token
- Accedere, con il vostro account, al l'istanza mastodon di riferimento.
- Andare su Preferenze (menù a destra)
- Andare su Sviluppo (menù a sinistra)
- Fare click su Nuova applòicazione
- Compilare tutti i campi e concedere almeno i permessi di scrittura post.
- Salvare in un luogo sicuro (password manager) quanto generato.
Comando curl di esempio
curl -s -X POST https://mastodon.uno/api/v1/statuses \
-H "Authorization: Bearer TOKEN_DI_ACCESSO" \
-d "status=Ciao mondo" \
-d "visibility=public" \
Semplice Script di invio
A questo punto possiamo farci un semplice script che prende in input, come parametro, del testo e lo invia per noi.
cat toot.sh
#!/bin/bash
# Verifica che sia stato passato almeno un argomento
if [ -z "$1" ]; then
echo "Errore: devi passare il testo del toot come parametro."
echo "Uso: $0 \"Testo del toot\""
exit 1
fi
# Salva il parametro in una variabile
TOOT="$1"
# Esegui la richiesta POST
curl -s -X POST https://mastodon.uno/api/v1/statuses \
-H "Authorization: Bearer TOKEN_DI_ACCESSO" \
-d "status=$TOOT" \
-d "visibility=public" \
-H "Authorization: Bearer TOKEN_DI_ACCESSO" \
| jq '.uri'
Ho inserito #jq in fondo con un filtro (che possiamo modificare a nostro piacimento), perché l'output in formato json è abbastanza prolisso

Perché?
A parte che è bello fare il nerd è usare #mastodon da command line, ma la cosa può essere molto utile se la usiamo in abbinata ad altre azioni/comandi. Pensiamo ad esempio ad un integraszione con #forgejo, ad esempio potremmo fare un post (tramite #webook) al termine del nostro workflow.
Un altro esempio è il collegare l'account ad un servizio di monitoraggio come #uptimekuma in questo modo si avrà una pagina che indica ai follower lo stato dei nostri servizi.
Oppure usarlo al termine di un nostro script che preleva i prossimi appuntamenti da un caledario ics.
Insomma, potete integrare l'invio di un toot alla fine di un vostro script custom, il limite a questo punto è solo la fantasia!
E voi come lo usate?
Seguimi su mastodon: @magostinelli@mastodon.uno
Articolo pubblicato con licenza CC BY-NC-SA