Vue d’ensemble
Le Feed Generator est le mécanisme des « flux algorithmiques » qui fonctionnent sur Bluesky. Vous pouvez publier vos propres flux basés sur des mots-clés ou des conditions utilisateur. Aveclaravel-bluesky, vous pouvez facilement implémenter un Feed Generator dans une application Laravel.
Tutoriel officiel : Créer un flux personnalisé
Starter kit officiel : bluesky-social/feed-generator
Enregistrer un algorithme FeedGenerator
L’utilisation la plus simple consiste à enregistrer l’algorithme sous forme de closure dansAppServiceProvider::boot().
name une chaîne compatible URL.
La valeur de retour de l’algorithme est un tableau contenant cursor et feed.
http://localhost/xrpc/app.bsky.feed.getFeedSkeleton?feed=at://did:web:example.com/app.bsky.feed.generator/artisanhttp://localhost/xrpc/app.bsky.feed.describeFeedGeneratorhttp://localhost/.well-known/did.json- Le Service DID est généré automatiquement à partir de l’URL courante (par ex.
did:web:example.com).
Publier le flux (création de la commande)
Implémenter le FeedGenerator dans l’application Laravel ne le publie pas sur Bluesky. Créez et exécutez une commande qui appellepublishFeedGenerator.
1
Générer la commande
2
Implémenter la commande
3
Exécuter la commande
publishFeedGenerator se contente de mettre à jour les informations et peut être exécuté autant de fois que vous le souhaitez.Créer plusieurs FeedGenerators
Il suffit d’appelerregister plusieurs fois avec des name différents pour créer plusieurs flux.
publishFeedGenerator plusieurs fois.
Séparer l’algorithme dans une classe
À la place d’une closure, l’utilisation d’une classe indépendante rend le code plus facile à organiser. Créez une classe callable implémentant le contratFeedGeneratorAlgorithm et enregistrez-la dans AppServiceProvider.
Authentification
L’authentification, présente dans le starter kit officiel, est activée par défaut. Pour la désactiver, passez àvalidateAuthUsing une closure qui renvoie simplement le DID de l’utilisateur.
Usages avancés
Vous pouvez enregistrer les posts en base via une commande Artisan et une planification, l’algorithme se contentant alors de les lire depuis la base. Vous obtenez ainsi un flux rapide sans appels d’API.Source : docs/feed-generator.md