Panoramica
Questa pagina è la versione Laravel del tutorial ufficiale per bot di AT Protocol. Spiega come implementare in PHP/Laravel, tramite il pacchettolaravel-bluesky, i contenuti pensati per TypeScript.
Nel tutorial ufficiale il file Lexicon viene scaricato di volta in volta con il comando lex, ma in laravel-bluesky tutti i Lexicon sono già inclusi in anticipo tramite atproto-lexicon-contracts, quindi questo passaggio non è necessario. Con i comandi Artisan e i metodi del trait HasShortHand puoi realizzare praticamente tutte le operazioni.
Prerequisiti
- Il pacchetto
laravel-blueskyè già installato - Devi avere un account Bluesky e una app password
Parte 1: bot base (post)
Creare un comando Artisan
Crea un comando per il bot conphp artisan make:command.
app/Console/Commands/BotPostCommand.php.
Esecuzione manuale
Esecuzione automatica con il task scheduler
Aggiungi le impostazioni per l’esecuzione periodica inroutes/console.php.
Esecuzione automatica con GitHub Actions
Se non hai un server, puoi comunque eseguirlo automaticamente con GitHub Actions.Parte 2: bot di risposta (monitoraggio delle menzioni)
Creiamo un bot che risponde automaticamente alle menzioni. Vediamo anche un esempio in cui la risposta viene generata da un’AI.Recuperare le notifiche e rispondere alle menzioni
Se il root del thread è diverso, recupera le informazioni del thread con
app.bsky.feed.getPostThread e impostalo come root. In questa implementazione semplificata, il post padre viene usato come root.Schedulare il polling
Generare la risposta con l’AI
Combinando il pacchettolaravel/ai con il driver laravel-amazon-bedrock, puoi generare risposte AI adattate al contenuto della menzione.
Parte 3: bot per label
È la funzionalità equivalente alabelAsBot del tutorial ufficiale. Applica una self-label al profilo dell’account bot per dichiarare esplicitamente che si tratta di un account automatizzato.
L’applicazione della label va eseguita una sola volta, in fase di configurazione iniziale. Va implementata come comando separato dai comandi della Parte 1 e 2.
Creare il comando del bot per label
Esecuzione
Sugli altri tutorial ufficiali
Il tutorial ufficiale di AT Protocol tratta anche altri argomenti. Ecco lo stato del supporto inlaravel-bluesky.
Feed personalizzati
In Feed Generator trovi la spiegazione dettagliata su come implementare un feed generator personalizzato con Laravel.Autenticazione OAuth
In Socialite trovi la spiegazione su come implementare l’autenticazione OAuth con Laravel Socialite. È più semplice da implementare rispetto al tutorial ufficiale.App sociale (statusphere)
La versione Laravel di statusphere è pubblicata come invokable/statusphere. È basata su una versione più vecchia di statusphere che non usava i comandilex o tap, quindi presenta lievi differenze rispetto al tutorial ufficiale più recente.