Overzicht
revolution/laravel-notification-discord-webhook is een pakket dat via Discord-webhooks notificaties verstuurt vanuit Laravel Notifications naar Discord. De officiële Bot API van Discord vereist het in stand houden van een WebSocket-verbinding en is complex om op te zetten. Met een webhook hoef je alleen een URL op te halen om notificaties te kunnen versturen. Als je alleen app-events wilt melden in het Discord-kanaal van je team, is een webhook de beste keuze.Dit pakket vereist PHP 8.3 of hoger en Laravel 12.0 of hoger.
Installatie
Configuratie
Een Discord-webhook-URL ophalen
Je kunt een webhook-URL aanmaken via Instellingen → Integraties → Webhooks van je Discord-server. Zie de officiële Discord-gids voor meer details.config/services.php
.env
Basisgebruik
Een Notification-klasse aanmaken
Implementeer de methodtoDiscordWebhook() en geef in via() DiscordChannel::class terug.
Verzendpatronen
On-demand notificaties
GebruikNotification::route() als je een notificatie wilt versturen zonder koppeling aan een specifiek usermodel.
Notificaties vanuit het User-model
DefinieerrouteNotificationForDiscordWebhook() als je per gebruiker een andere webhook-URL wilt gebruiken.
Berichttypen
Tekstberichten
De eenvoudigste manier van versturen.Embed-berichten
MetDiscordEmbed kun je rijke weergaven maken met een titel en URL.
Bestandsbijlagen
MetDiscordAttachment kun je bestanden als bijlage meesturen. content (de inhoud van het bestand) en filename zijn verplicht.
Verwijzen naar bestanden binnen een embed
Je kunt in deimage of thumbnail van een embed naar bijlagen verwijzen met attachment://bestandsnaam.
Een willekeurige payload versturen
Met->with() kun je elke parameter van de Discord-webhook rechtstreeks opgeven.
Samenvatting
Discord-bots zijn krachtig, maar als je alleen notificaties wilt versturen, is een webhook veel eenvoudiger. Met dit pakket integreer je naadloos met het notificatiesysteem van Laravel en meld je app-events snel in het Discord-kanaal van je team.Zie de GitHub-repository voor de meest recente informatie.