Skip to main content

Überblick

Diese Seite ist die Laravel-Fassung des offiziellen AT-Protocol-Bot-Tutorials. Sie zeigt, wie Sie die für TypeScript ausgelegten Inhalte mit dem Paket laravel-bluesky in PHP/Laravel umsetzen. Im offiziellen Tutorial werden die Lexicon-Dateien jeweils mit dem lex-Kommando heruntergeladen. Bei laravel-bluesky sind über atproto-lexicon-contracts bereits alle Lexicons vorab eingebunden, dieser Schritt entfällt daher. Mit Artisan-Kommandos und den Methoden des Traits HasShortHand lassen sich nahezu alle Operationen umsetzen.

Voraussetzungen

  • Das Paket laravel-bluesky ist installiert.
  • Ein Bluesky-Account und ein App Password sind vorbereitet.
Installationshinweise finden Sie unter Laravel Bluesky.

Teil 1: Basis-Bot (Posten)

Artisan-Kommando erstellen

Erstellen Sie mit php artisan make:command ein Kommando für den Bot.
Bearbeiten Sie die generierte Datei app/Console/Commands/BotPostCommand.php.

Manuelle Ausführung

Automatische Ausführung per Task-Scheduling

Fügen Sie in routes/console.php eine periodische Ausführung hinzu.
Aktivieren Sie den Scheduler, indem Sie folgenden Eintrag in der Crontab setzen.

Automatische Ausführung mit GitHub Actions

Ohne eigenen Server können Sie GitHub Actions für die automatische Ausführung verwenden.
Registrieren Sie BLUESKY_IDENTIFIER und BLUESKY_APP_PASSWORD als Secrets in GitHub Actions.

Teil 2: Reply-Bot (Mentions überwachen)

Wir erstellen einen Bot, der automatisch auf Mentions antwortet. Als Erweiterung zeigen wir auch, wie sich Antworten per KI generieren lassen.

Benachrichtigungen abrufen und auf Mentions antworten

Wenn die Root des Threads eine andere ist, rufen Sie über app.bsky.feed.getPostThread die Thread-Informationen ab und setzen Sie diese als root. Diese vereinfachte Implementierung verwendet den Elternpost als Root.

Polling einplanen

Antworten mit KI erzeugen

In Kombination mit dem Paket laravel/ai und dem Treiber laravel-amazon-bedrock können Sie KI-generierte Antworten passend zum Mention-Inhalt erzeugen.
Erstellen Sie einen KI-Agent.
Verwenden Sie die KI-Antwort im Kommando.
Die Konfiguration von laravel-amazon-bedrock finden Sie unter Amazon-Bedrock-Treiber.

Teil 3: Label-Bot

Dies entspricht der Funktion labelAsBot aus dem offiziellen Tutorial. Es setzt am Profil des Bot-Accounts ein Self-Label, um explizit als automatisierter Account gekennzeichnet zu sein.
Das Setzen des Labels erfolgt nur einmal beim initialen Setup. Implementieren Sie es als separates Kommando unabhängig von den Kommandos aus Teil 1 und 2.

Label-Bot-Kommando erstellen

Ausführen

Führen Sie dieses Kommando nur einmal beim initialen Setup des Bots aus. Das Label bleibt dauerhaft am Profil gespeichert.
!bot ist ein Standard-Self-Label von Bluesky. Es wird empfohlen, es für Bot-Accounts unbedingt zu setzen.

Zu weiteren offiziellen Tutorials

Das offizielle AT-Protocol-Tutorial deckt weitere Themen ab. Der Stand der Unterstützung in laravel-bluesky ist:

Custom-Feed

Unter Feed Generator finden Sie eine ausführliche Anleitung zur Implementierung eines Custom-Feed-Generators mit Laravel.

OAuth-Authentifizierung

Unter Socialite wird die OAuth-Authentifizierung mit Laravel Socialite beschrieben. Die Umsetzung ist einfacher als im offiziellen Tutorial.

Soziale App (statusphere)

Eine Laravel-Fassung von statusphere ist unter invokable/statusphere veröffentlicht. Sie basiert auf einer älteren statusphere-Version, die die Kommandos lex und tap nicht verwendet, und weicht dadurch in einigen Punkten vom aktuellen offiziellen Tutorial ab.
Zuletzt geändert am 13. Juli 2026