Resumen
revolution/laravel-notification-discord-webhook es un paquete que envía notificaciones a Discord desde Laravel Notifications utilizando Discord Webhook. La API oficial de bots de Discord requiere mantener una conexión WebSocket y su configuración es compleja. Con Webhook basta con obtener una URL para enviar notificaciones. Si solo quieres notificar los eventos de tu aplicación al canal de Discord de tu equipo, Webhook es la mejor opción.Este paquete requiere PHP 8.3 o superior y Laravel 12.0 o superior.
Instalación
Configuración
Obtén la URL del Webhook de Discord
Puedes crear una URL de Webhook desde Ajustes del servidor → Integraciones → Webhooks de tu servidor de Discord. Para más detalles, consulta la guía oficial de Discord.config/services.php
.env
Uso básico
Crea una clase Notification
Implementa el métodotoDiscordWebhook() y devuelve DiscordChannel::class desde via().
Patrones de envío
Notificaciones On-Demand
Para enviar notificaciones sin vincularlas a un modelo de usuario concreto, utilizaNotification::route().
Notificación desde el modelo User
Para usar una URL de Webhook distinta por usuario, definerouteNotificationForDiscordWebhook().
Tipos de mensaje
Mensaje de texto
Es la forma más sencilla de enviar.Mensajes con embed
ConDiscordEmbed puedes mostrar contenido enriquecido, con título y URL.
Archivos adjuntos
ConDiscordAttachment puedes adjuntar archivos al mensaje. Son obligatorios content (el contenido del archivo) y filename.
Referencia a archivos dentro del embed
Puedes referenciar los archivos adjuntos enimage o thumbnail del embed mediante attachment://nombre-de-archivo.
Enviar un payload personalizado
Con->with() puedes especificar directamente cualquier parámetro del Webhook de Discord.
Resumen
Los bots de Discord son potentes, pero si solo quieres enviar notificaciones, Webhook es mucho más sencillo. Con este paquete puedes integrarte sin fricciones con el sistema de notificaciones de Laravel y notificar rápidamente los eventos de tu aplicación al canal de Discord del equipo.Para la información más reciente, consulta el repositorio de GitHub.