Skip to main content

Vue d’ensemble

Cette page est la version Laravel du tutoriel officiel de bot AT Protocol. Elle explique comment implémenter en PHP/Laravel avec le package laravel-bluesky ce que le tutoriel officiel montre en TypeScript. Le tutoriel officiel télécharge à chaque fois les fichiers Lexicon via la commande lex, mais laravel-bluesky intègre déjà tous les Lexicons via atproto-lexicon-contracts : cette étape est donc superflue. À l’aide des commandes Artisan et des méthodes du trait HasShortHand, la quasi-totalité des opérations est réalisable.

Prérequis

  • Le package laravel-bluesky doit être installé
  • Vous devez disposer d’un compte Bluesky et d’un App Password
Pour la procédure d’installation, voir Laravel Bluesky.

Partie 1 : bot de base (publication)

Créer une commande Artisan

Créez la commande du bot avec php artisan make:command.
Modifiez le fichier généré app/Console/Commands/BotPostCommand.php.

Exécution manuelle

Exécution automatique via le planificateur

Ajoutez une planification dans routes/console.php.
Pour activer le planificateur, ajoutez la ligne suivante à cron :

Exécution automatique via GitHub Actions

Si vous n’avez pas de serveur, GitHub Actions permet également d’exécuter automatiquement la commande.
Enregistrez BLUESKY_IDENTIFIER et BLUESKY_APP_PASSWORD dans les secrets de GitHub Actions.

Partie 2 : bot de réponse (surveillance des mentions)

Créons un bot qui répond automatiquement aux mentions. Nous présenterons également un exemple générant des réponses par IA.

Récupérer les notifications et répondre aux mentions

Si le root du thread diffère, récupérez les informations du thread avec app.bsky.feed.getPostThread et affectez-les à root. Cette implémentation simplifiée traite le post parent comme root.

Planifier le polling

Générer les réponses avec l’IA

En combinant le package laravel/ai et le pilote laravel-amazon-bedrock, vous pouvez générer des réponses IA adaptées au contenu de la mention.
Créez un agent IA.
Utilisez la réponse IA dans la commande.
Pour la configuration de laravel-amazon-bedrock, voir Pilote Amazon Bedrock.

Partie 3 : bot de label

Fonctionnalité équivalente à labelAsBot du tutoriel officiel. Il s’agit d’ajouter un self label au profil du compte bot pour signaler explicitement qu’il s’agit d’un compte automatisé.
La labellisation ne s’exécute qu’une seule fois, lors de la configuration initiale. Elle est implémentée en tant que commande distincte des parties 1 et 2.

Créer la commande du bot de label

Exécution

N’exécutez cette commande qu’une seule fois lors de la configuration initiale du bot. Le label est stocké de manière permanente dans le profil.
!bot est un self label standard de Bluesky. Il est recommandé de toujours l’appliquer aux comptes de type bot.

Autres tutoriels officiels

Le tutoriel officiel AT Protocol traite d’autres sujets. Voici l’état de la prise en charge dans laravel-bluesky.

Flux personnalisés

Feed Generator décrit en détail comment implémenter un feed generator personnalisé avec Laravel.

Authentification OAuth

Socialite explique comment implémenter l’authentification OAuth avec Laravel Socialite. L’implémentation est plus simple que dans le tutoriel officiel.

Application sociale (statusphere)

Une version Laravel de statusphere est publiée sous invokable/statusphere. Elle s’appuie sur une version antérieure de statusphere qui n’utilise pas encore les commandes lex ou tap, elle diffère donc légèrement du tutoriel officiel le plus récent.

Liens utiles

Dernière modification le 13 juillet 2026