Skip to main content

Panoramica

Il Feed Generator è il meccanismo per i “feed algoritmici” che opera su Bluesky. Puoi pubblicare feed personalizzati basati su parole chiave o condizioni utente specifiche. Con laravel-bluesky puoi implementare facilmente un Feed Generator in un’applicazione Laravel.
Starter kit ufficiale: bluesky-social/feed-generator

Registrazione dell’algoritmo FeedGenerator

L’uso più semplice consiste nel registrare l’algoritmo come closure in AppServiceProvider::boot().
Per name utilizza una stringa URL-safe. Il valore di ritorno dell’algoritmo è un array che contiene cursor e feed.
Tutte le rotte necessarie al pacchetto vengono registrate automaticamente.
  • http://localhost/xrpc/app.bsky.feed.getFeedSkeleton?feed=at://did:web:example.com/app.bsky.feed.generator/artisan
  • http://localhost/xrpc/app.bsky.feed.describeFeedGenerator
  • http://localhost/.well-known/did.json
  • Il Service DID viene generato automaticamente dall’URL attuale (es.: did:web:example.com).
Le uniche cose che decidi tu sono il name del FeedGenerator e il contenuto dell’implementazione.

Pubblicazione del feed (creazione del comando)

Implementare il FeedGenerator nell’app Laravel non basta a pubblicarlo su Bluesky. Crea ed esegui un comando che invochi publishFeedGenerator.
1

Genera il comando

2

Implementa il comando

3

Esegui il comando

In caso di successo, sull’elenco dei feed del profilo Bluesky verrà aggiunto un link. publishFeedGenerator si limita ad aggiornare le informazioni, quindi puoi eseguirlo più volte senza problemi.

Creazione di più FeedGenerator

Puoi creare più feed semplicemente chiamando register più volte cambiando name.
Nello stesso modo, nel comando di pubblicazione chiami publishFeedGenerator più volte.

Separazione dell’algoritmo in una classe

Usare una classe indipendente al posto di una closure aiuta a organizzare meglio il codice. Crea una classe callable che implementi il contract FeedGeneratorAlgorithm e registrala in AppServiceProvider.

Autenticazione

La funzione di autenticazione dello starter kit ufficiale è abilitata per impostazione predefinita. Per disabilitarla, passa a validateAuthUsing una closure che restituisce semplicemente il DID dell’utente.
I feed sono influenzati dalle “impostazioni di lingua” dell’account. Se il FeedGenerator recupera i post ma il feed non viene visualizzato su Bluesky, controlla le impostazioni di lingua dell’account.

Utilizzo avanzato

Se usi un comando Artisan e il task scheduler per salvare i post in un database, e nell’algoritmo li recuperi soltanto dal DB, puoi realizzare un feed veloce senza chiamate API.
Ultima modifica il 13 luglio 2026