Michele Agostinelli Blog

webook

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.

mastodon

Abilitazione e creazione token

  1. Accedere, con il vostro account, al l'istanza mastodon di riferimento.
  2. Andare su Preferenze (menù a destra)
  3. Andare su Sviluppo (menù a sinistra)
  4. Fare click su Nuova applòicazione
  5. Compilare tutti i campi e concedere almeno i permessi di scrittura post.
  6. 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

curl

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