Skip to main content

Overzicht

Een Feed Generator is het mechanisme achter “algoritmische feeds” op Bluesky. Je kunt eigen feeds publiceren op basis van bijvoorbeeld specifieke keywords of gebruikerscriteria. Met laravel-bluesky implementeer je eenvoudig een Feed Generator in je Laravel-applicatie.
Officiële tutorial: Custom feeds maken
Officiële starter kit: bluesky-social/feed-generator

Een FeedGenerator-algoritme registreren

De eenvoudigste aanpak is om het algoritme als closure te registreren in AppServiceProvider::boot().
Gebruik voor name een URL-veilige string. De returnwaarde van het algoritme is een array met cursor en feed.
Alle routes die het pakket nodig heeft, worden automatisch geregistreerd.
  • 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
  • De Service DID wordt automatisch gegenereerd op basis van de huidige URL (bijvoorbeeld did:web:example.com).
Het enige dat je zelf bepaalt, is de name van de FeedGenerator en de implementatie.

De feed publiceren (een command maken)

Alleen een FeedGenerator implementeren in je Laravel-app is niet genoeg om deze op Bluesky te publiceren. Maak een command dat publishFeedGenerator aanroept en voer het uit.
1

Het command genereren

2

Het command implementeren

3

Het command uitvoeren

Bij succes wordt er een link toegevoegd aan de feedlijst op je Bluesky-profiel. publishFeedGenerator werkt alleen informatie bij, dus je kunt het zo vaak uitvoeren als je wilt.

Meerdere FeedGenerators maken

Je maakt meerdere feeds door simpelweg register meerdere keren aan te roepen met een andere name.
In het publicatiecommand roep je op dezelfde manier publishFeedGenerator meerdere keren aan.

Het algoritme in een aparte klasse

Door in plaats van een closure een aparte klasse te gebruiken, houd je je code beter georganiseerd. Maak een callable klasse die het FeedGeneratorAlgorithm-contract implementeert en registreer deze in de AppServiceProvider.

Authenticatie

De authenticatiefunctionaliteit van de officiële starter kit is standaard ingeschakeld. Om deze uit te schakelen geef je aan validateAuthUsing een closure door die simpelweg de gebruikers-DID teruggeeft.
Feeds worden beïnvloed door de “taalinstellingen” van het account. Als de FeedGenerator wel posts ophaalt maar de feed niet zichtbaar is op Bluesky, controleer dan de taalinstellingen van je account.

Geavanceerd gebruik

Door met een Artisan-command en de task scheduler posts in een database op te slaan en in het algoritme alleen uit de database te lezen, krijg je een snelle feed zonder API-aanroepen.
Laatst gewijzigd op 6 september 2026