- Does labymod/discord-webhook-bundle work with Laravel?
- No. It is a Symfony bundle that relies on Symfony's DI container, bundle registration, and configuration tree, none of which Laravel auto-discovers. In a Laravel app the bundle layer is dead weight, and you would need to hand-write a service provider and rewrite the configuration surface. For Laravel, use Http::post($webhookUrl, $payload) or a maintained Laravel-native Discord channel instead.
- How do I install and configure labymod/discord-webhook-bundle?
- You install it with Composer and register the bundle in a Symfony application's bundles.php, then configure webhook URLs through the bundle's configuration tree. That setup assumes Symfony parameters and service definitions. It does not translate to Laravel's config/services.php plus env pattern without custom work. For Laravel, do not install it as a dependency.
- Is labymod/discord-webhook-bundle still maintained?
- The last release was January 2022, roughly three years without a tag. It has about 2 stars and 0 dependents, so there is no community safety net to surface regressions. It is effectively a single-vendor artifact from a Minecraft modding vendor using it for internal operational notifications. Treat it as a reference implementation rather than a dependency.
- Which Laravel versions does labymod/discord-webhook-bundle support?
- It does not target Laravel at all, so there are no Laravel version constraints. PHP 8.1, 8.2, and 8.3 compatibility is unverified, and Guzzle or PSR-7 constraint drift is likely to conflict with Laravel's pinned Guzzle 7 line. Verify any PHP and Guzzle pins before considering even a spike.
- How do I send a Discord webhook from Laravel without this package?
- Use Laravel's HTTP client: Http::post($webhookUrl, $payload) with a JSON body containing content, embeds, or other Discord fields. This is roughly a 30-line job and inherits Laravel's retry and backoff behavior. Wrap it in a small internal DiscordWebhookClient plus a DiscordWebhookMessage value object so the transport stays swappable.
- Can I use the labymod/discord-webhook library directly in Laravel without the Symfony bundle?
- Yes, you could pull the transitive library and bypass the bundle, but then you depend on an unmaintained vendor library purely to avoid writing a small HTTP client. You would also own the configuration surface forever and face likely Guzzle and PSR-7 version conflicts. The architectural value-add is close to zero for a Laravel stack.
- What are the best alternatives to labymod/discord-webhook-bundle for Laravel?
- The preferred pattern is a thin internal DiscordWebhookClient wrapping Illuminate\Support\Facades\Http with a DiscordWebhookMessage value object. If you want a packaged abstraction, use a Laravel-native channel such as laravel-notification-channels/discord with active maintenance. Both keep you on framework primitives and avoid Symfony bundle conventions.
- Does labymod/discord-webhook-bundle support Discord embeds, components, and threads?
- That is uncertain and must be verified. The bundle is a 2022-era payload builder, while Discord's webhook surface has moved on with allowed mentions, components, threads, with_components, and attachment flows. A stale builder may not expose or correctly serialize current fields, so check the message-building code before relying on it.
- How should I store Discord webhook URLs securely in a Laravel app?
- Put webhook URLs in config/services.php and read them from environment variables or a secrets manager, never committed config. The Symfony bundle instead uses bundle-style parameter configuration, which does not translate to Laravel's container or env conventions. Any adoption would require rewriting that configuration surface anyway.
- Should I fork labymod/discord-webhook-bundle if it gets abandoned?
- No, forking it for Laravel is not worth the maintenance burden. The code is MIT-licensed, so you may copy payload-building patterns into an in-house notifier behind an interface. Enforce with PHPStan or Deptrac that only the notifier layer touches the Discord transport, and keep webhook configuration per environment or channel.