Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Discord Notifier

Discord Notifier Laravel Package

symfony/discord-notifier

Symfony Notifier bridge for Discord. Configure via DISCORD_DSN for webhooks or a bot token, then send ChatMessage notifications. Supports rich embeds and options (username, title, fields, thumbnails, footers) to build interactive Discord messages.

View on GitHub
Deep Wiki
Context7

Symfony Discord Notifier Bridge

Frequently asked questions about Discord Notifier
Can I use symfony/discord-notifier directly in Laravel without extra packages?
No, this package is designed for Symfony’s Notifier component and isn’t natively Laravel-compatible. You’ll need to either wrap it in a Laravel Notification Channel (like spatie/laravel-notification-channels-discord) or build a custom facade for tighter integration. The latter requires more effort but gives full control over embeds and transports.
What’s the easiest way to integrate Discord notifications in Laravel?
Use spatie/laravel-notification-channels-discord, which acts as a bridge for symfony/discord-notifier. It simplifies setup with Laravel’s Notification system, supports webhooks and bot tokens, and handles most common use cases in under 30 minutes. Check their [GitHub](https://github.com/spatie/laravel-notification-channels-discord) for installation steps.
Does this package support interactive Discord features like buttons or select menus?
No, symfony/discord-notifier is designed for one-way notifications (alerts, logs, embeds) and doesn’t natively support interactive components like buttons or slash commands. For those, use Laravel Discord or DiscordPHP, which are built for bidirectional interactions.
How do I configure a Discord webhook vs. a bot token in Laravel?
For webhooks, set `DISCORD_DSN=discord://WEBHOOK_TOKEN@default?webhook_id=ID` in your `.env`. For bots (Symfony 8.0+), use `DISCORD_DSN=discord+bot://BOT_TOKEN@default`. In Laravel, pass this DSN to the Notification Channel or custom transport. Ensure your token has the correct permissions (e.g., `Manage Webhooks` for webhooks or `Send Messages` for bots).
Will this package work with Laravel 10+ and PHP 8.4?
Yes, but with caveats. symfony/discord-notifier requires Symfony 8.x (PHP 8.4+), which Laravel 10+ supports. If using the package directly, ensure your Laravel app’s PHP version matches Symfony’s requirements. For spatie’s channel, check their [compatibility](https://github.com/spatie/laravel-notification-channels-discord#requirements) as they may lag behind Symfony updates.
How do I handle rate limits or failed Discord API calls?
Symfony Notifier supports retry strategies, but you may need to extend the transport layer for custom handling. Implement exponential backoff in your Laravel service or Notification Channel. Monitor Discord’s API status and log failures to Sentry or a database for debugging. The package itself doesn’t include built-in dead-letter queues, so you’ll need to add that logic.
Can I send complex embeds with fields, thumbnails, and footers in Laravel?
Yes, but the implementation depends on your integration method. If using spatie’s channel, leverage their helper methods. For direct Symfony Notifier use, construct `DiscordOptions`, `DiscordEmbed`, and `DiscordFieldEmbedObject` as shown in the [README](https://github.com/symfony/discord-notifier). Validate embeds against Discord’s [specs](https://discord.com/developers/docs/resources/channel#embed-object) to avoid truncation or failures.
What’s the difference between webhook and bot transport in this package?
Webhooks (`discord://TOKEN@default`) are simpler and ideal for one-off notifications (e.g., alerts). Bot transport (`discord+bot://TOKEN@default`) is newer (Symfony 8.0+) and allows message editing/deletion but requires a bot account with permissions. Webhooks are more reliable for high-volume alerts, while bots offer more control for interactive workflows.
How do I test Discord notifications in Laravel without hitting the API?
Mock HTTP calls using Laravel’s HTTP client or PHPUnit’s `HttpClient` mocks. For spatie’s channel, use `NotificationFake` in tests. For direct Symfony Notifier use, mock the `DiscordTransport` or use a testing library like `symfony/panther` to simulate API responses. Always validate embeds and error cases in your test suite.
Are there alternatives to symfony/discord-notifier for Laravel?
Yes. For simple notifications, use spatie/laravel-notification-channels-discord (Symfony Notifier wrapper). For interactive features (buttons, commands), try Laravel Discord or DiscordPHP. If you need a lightweight solution without Symfony dependencies, consider direct Discord API calls via Guzzle or a custom service. Each has trade-offs in terms of maintenance and feature support.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor
spatie/laravel-javascript-views