Overzicht
Deze pagina is de Laravel-versie van de officiële AT Protocol-bottutorial. We laten zien hoe je de op TypeScript gerichte inhoud implementeert in PHP/Laravel met hetlaravel-bluesky-pakket.
In de officiële tutorial download je met het lex-commando telkens Lexicon-bestanden, maar laravel-bluesky heeft alle Lexicons al vooraf opgenomen via atproto-lexicon-contracts, dus die stap is niet nodig. Met Artisan-commando’s en de methodes van de HasShortHand-trait kun je vrijwel alle operaties uitvoeren.
Vereisten
- Het
laravel-bluesky-pakket is geïnstalleerd - Je hebt een Bluesky-account en een app password klaarstaan
Deel 1: basisbot (posten)
Een Artisan-commando maken
Maak metphp artisan make:command een commando voor de bot.
app/Console/Commands/BotPostCommand.php.
Handmatig uitvoeren
Automatisch uitvoeren via taakplanning
Voeg de configuratie voor periodieke uitvoering toe aanroutes/console.php.
Automatisch uitvoeren met GitHub Actions
Heb je geen server, dan kun je ook automatisch uitvoeren via GitHub Actions.Deel 2: replybot (mentions monitoren)
We maken een bot die automatisch reageert op mentions. We laten ook een voorbeeld zien waarbij AI de reply genereert.Notificaties ophalen en op mentions reageren
Als de root van de thread afwijkt, haal dan met
app.bsky.feed.getPostThread de threadinformatie op en stel die in als root. In deze eenvoudige implementatie behandelen we de bovenliggende post als root.Polling inplannen
Replies genereren met AI
Door hetlaravel/ai-pakket te combineren met de laravel-amazon-bedrock-driver kun je AI-replies genereren die zijn afgestemd op de inhoud van de mention.
Deel 3: labelbot
Dit komt overeen metlabelAsBot uit de officiële tutorial. We kennen een zelflabel toe aan het profiel van het botaccount om duidelijk te maken dat het een geautomatiseerd account is.
Het labelen voer je één keer uit bij de eerste setup. We implementeren dit als een apart commando, onafhankelijk van de commando’s uit deel 1 en 2.
Het labelbotcommando maken
Uitvoeren
Over de andere officiële tutorials
De officiële AT Protocol-tutorials behandelen nog een aantal andere onderwerpen. Hier vind je een overzicht van de ondersteuning inlaravel-bluesky.
Custom feeds
In Feed Generator wordt uitgebreid uitgelegd hoe je een custom feedgenerator implementeert met Laravel.OAuth-authenticatie
In Socialite wordt uitgelegd hoe je OAuth-authenticatie implementeert met Laravel Socialite. Dat is eenvoudiger dan in de officiële tutorial.Sociale app (statusphere)
Er is een Laravel-versie van statusphere gepubliceerd als invokable/statusphere. Omdat deze gebaseerd is op een oudere statusphere die de commando’slex en tap niet gebruikt, wijkt hij op enkele punten af van de nieuwste officiële tutorial.