Skip to main content

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. Avec laravel-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 dans AppServiceProvider::boot().
Utilisez pour name une chaîne compatible URL. La valeur de retour de l’algorithme est un tableau contenant cursor et feed.
Toutes les routes nécessaires au package sont enregistrées automatiquement.
  • 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
  • Le Service DID est généré automatiquement à partir de l’URL courante (par ex. did:web:example.com).
Vous n’avez qu’à décider vous-même du name du FeedGenerator et du contenu de l’implémentation.

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 appelle publishFeedGenerator.
1

Générer la commande

2

Implémenter la commande

3

Exécuter la commande

En cas de succès, un lien est ajouté à la liste des flux dans le profil Bluesky. 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’appeler register plusieurs fois avec des name différents pour créer plusieurs flux.
Dans la commande de publication, appelez également 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 contrat FeedGeneratorAlgorithm 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.
Les flux sont influencés par les « paramètres de langue » du compte. Si votre FeedGenerator récupère bien des posts mais que le flux n’apparaît pas sur Bluesky, vérifiez les paramètres de langue du compte.

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.
Dernière modification le 13 juillet 2026