Panoramica
revolution/laravel-notification-discord-webhook è un pacchetto per inviare notifiche a Discord tramite Laravel Notifications utilizzando i Webhook di Discord. L’API Bot ufficiale di Discord richiede il mantenimento di una connessione WebSocket ed è complessa da configurare. Con i Webhook basta ottenere un URL per poter inviare notifiche. Se vuoi solo notificare gli eventi dell’app sul canale Discord del tuo team, il Webhook è la scelta ideale.Questo pacchetto richiede PHP 8.3 o superiore e Laravel 12.0 o superiore.
Installazione
Configurazione
Ottieni l’URL del Webhook di Discord
Puoi creare un URL del Webhook dalle Impostazioni del server Discord → Integrazioni → Webhook. Per i dettagli, consulta la guida ufficiale di Discord.config/services.php
.env
Utilizzo di base
Crea una classe Notification
Implementa il metodotoDiscordWebhook() e restituisci DiscordChannel::class da via().
Modalità di invio
Notifica on-demand
Per inviare notifiche senza associarle a un modello utente specifico, utilizzaNotification::route().
Notifiche dal modello User
Per utilizzare un URL Webhook diverso per ogni utente, definiscirouteNotificationForDiscordWebhook().
Tipi di messaggio
Messaggio di testo
Il metodo di invio più semplice.Messaggio Embed
ConDiscordEmbed puoi ottenere una visualizzazione ricca che include titolo e URL.
Allegati
ConDiscordAttachment puoi allegare e inviare file. content (il contenuto del file) e filename sono obbligatori.
Riferimento a file all’interno di un Embed
Puoi fare riferimento a un allegato inimage o thumbnail di un Embed usando attachment://nome_file.
Invio di payload arbitrari
Con->with() puoi specificare direttamente parametri arbitrari del Webhook di Discord.
Riepilogo
I bot Discord sono potenti, ma se vuoi semplicemente inviare notifiche, il Webhook è molto più semplice. Con questo pacchetto puoi integrarti perfettamente con il sistema di notifiche di Laravel e notificare rapidamente gli eventi dell’app sul canale Discord del tuo team.Per le informazioni più aggiornate consulta il repository GitHub.