Descripción general
Esta página es la versión en Laravel del tutorial oficial de bots de AT Protocol. Explica cómo implementar en PHP/Laravel, mediante el paquetelaravel-bluesky, un contenido pensado originalmente para TypeScript.
En el tutorial oficial se descargan los archivos Lexicon en cada ocasión con el comando lex, pero laravel-bluesky ya incorpora previamente todos los Lexicon desde atproto-lexicon-contracts, así que ese paso no es necesario. Usando los comandos de Artisan y los métodos del trait HasShortHand, puedes realizar prácticamente todas las operaciones.
Requisitos previos
- Tener instalado el paquete
laravel-bluesky - Disponer de una cuenta de Bluesky y una app password
Parte 1: bot básico (publicación)
Crear un comando Artisan
Crea el comando para el bot conphp artisan make:command.
app/Console/Commands/BotPostCommand.php generado.
Ejecución manual
Ejecución automática con programación de tareas
Añade la configuración de ejecución periódica enroutes/console.php.
Ejecución automática con GitHub Actions
Si no dispones de servidor, también puedes ejecutarlo automáticamente con GitHub Actions.Parte 2: bot de respuestas (monitorización de menciones)
Crearemos un bot que responde automáticamente a las menciones. También se incluye un ejemplo que usa IA para generar las respuestas.Obtener notificaciones y responder a las menciones
Si la raíz del hilo es diferente, obtén la información del hilo con
app.bsky.feed.getPostThread y configúralo en root. En la implementación simplificada se toma la publicación padre como raíz.Programar el sondeo
Generar respuestas usando IA
Combinando el paquetelaravel/ai con el driver laravel-amazon-bedrock, puedes generar respuestas con IA según el contenido de la mención.
Parte 3: bot de etiquetas
Es el equivalente allabelAsBot del tutorial oficial. Se aplica una self label al perfil de la cuenta del bot para indicar explícitamente que se trata de una cuenta automatizada.
El etiquetado se ejecuta una sola vez durante la configuración inicial. Se implementa como un comando aparte, independiente de los comandos de las partes 1 y 2.
Crear el comando del bot de etiquetas
Ejecutar
Sobre otros tutoriales oficiales
El tutorial oficial de AT Protocol incluye varios temas más. A continuación resumimos el estado de compatibilidad conlaravel-bluesky.
Feed personalizado
En Feed Generator se explica en detalle cómo implementar un feed generator personalizado con Laravel.Autenticación OAuth
En Socialite se explica cómo implementar la autenticación OAuth con Laravel Socialite. Es más sencilla que en el tutorial oficial.Aplicación social (statusphere)
Está publicada una versión Laravel de statusphere en invokable/statusphere. Como se basa en un statusphere anterior que no usa los comandoslex ni tap, hay algunas diferencias respecto al tutorial oficial más reciente.