Weave 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 Interaction Bundle

Discord Interaction Bundle Laravel Package

mrgoodbytes8667/discord-interaction-bundle

A Symfony bundle for handling Discord interactions in your PHP application. Register slash commands, route interaction payloads, and respond to Discord requests through a structured, framework-integrated setup, keeping Discord-specific plumbing and signature verification out of your controllers.

View on GitHub
Deep Wiki
Context7

A Symfony bundle for handling Discord interactions—slash commands, message components, and modals—inside your application. It verifies incoming requests, routes each interaction to your handlers, and returns properly formatted responses, so you can build Discord bots without wiring the protocol by hand.

  • Signature verification for trusted Discord requests
  • Route slash commands, buttons, and modals to handlers
  • Typed response builders for messages and embeds
  • Native Symfony service and event integration
  • Configurable via bundle configuration
Frequently asked questions about Discord Interaction Bundle
Can I use mrgoodbytes8667/discord-interaction-bundle in a Laravel application?
Not as-is. It is a Symfony bundle, which means it ships a Bundle subclass, a DI extension, services.yaml definitions, routing resources, and listeners bound to Symfony's EventDispatcherInterface. Laravel has no bundle contract, no kernel registration, and no compiler passes, so nothing here installs or boots natively. You can read it as a reference implementation, but you would need to reimplement the pattern with a Laravel route, middleware, and the Illuminate events dispatcher.
What does this bundle actually do for Discord slash commands?
It handles Discord interaction webhooks: receiving the POST from Discord, verifying the Ed25519 signature headers, answering the PING handshake with a PONG, and dispatching a handler or event per application command. That is a small, well-understood surface area rather than a full Discord client or gateway bot. In practice it is a routing and verification layer for interactions, not an SDK.
How do I handle Discord interaction webhooks in Laravel without this bundle?
Register a POST route outside the web middleware group, exempt it from CSRF in VerifyCsrfToken, and add a middleware that validates the X-Signature-Ed25519 and X-Signature-Timestamp headers. Return a PONG for type 1 pings, then map each command name to a handler class using Laravel's event dispatcher or a simple match statement. Most implementations land around 300 lines and take days rather than weeks, which is almost always the better path than forking a Symfony bundle.
How is Discord's Ed25519 signature verified, and what PHP extension do I need?
Discord signs every interaction request with Ed25519, and verification requires the sodium extension, so make sure ext-sodium is enabled in your runtime. The check is to concatenate the timestamp header with the raw request body, verify the signature against Discord's application public key, and reject anything older than a few minutes to prevent replay. The signature and PING handshake half of this protocol is stable and will work the same way in Laravel as in Symfony.
Which Discord interaction types does this bundle support?
The repository was last released in November 2021, so expect coverage of classic slash commands and the v8-era payload shape rather than the current API surface. Message components, modals, autocomplete (type 8), context-menu commands, entitlements, and premium buttons all arrived or matured after that point and are unlikely to be handled. Verify any specific interaction type against current Discord API v10 documentation before depending on it.
Is mrgoodbytes8667/discord-interaction-bundle still maintained?
There is little evidence of active maintenance: the last release was 2021-11-08, and the repository shows zero stars and zero dependents. That does not mean the code is broken, since signature verification and the PING handshake have not changed, but it does mean you are on your own for bugs and Discord API drift. Treat it as a reference implementation rather than a dependency you build a product on.
What license is this package released under?
The license is reported as NOASSERTION, meaning it matched no SPDX identifier and the actual terms are unclear from metadata alone. Before vendoring, forking, or redistributing any part of it, read the LICENSE file in the repository and get legal review. Absent a clear permissive license, you should assume you cannot copy the code into a commercial Laravel application.
Will Composer conflict with Laravel's Symfony dependencies?
Very likely, yes. Laravel pins specific versions of Symfony components such as console, http-foundation, and process, while this bundle pulls symfony/framework-bundle and the kernel, which a Laravel app does not need and often cannot resolve alongside its existing constraints. Do not run composer require as your first step and expect success. If you want to evaluate the code, clone it and read it instead of installing it into an application.
How do I test Discord interaction endpoints in Laravel?
Generate a throwaway sodium keypair in your test suite, sign a fake interaction payload with the timestamp header, and post it through Laravel's HTTP test helpers against the webhook route. Assert that invalid signatures get a 401, that type 1 pings return a PONG, and that each command dispatches the expected event or job. Because the endpoint bypasses CSRF and session middleware, test it with the same middleware stack it uses in production.
What are the alternatives to this bundle for Discord interactions?
For Laravel specifically, most teams either hand-roll the endpoint or use a community interaction package, and for full bots there are established PHP libraries that cover the gateway and REST API. Running this bundle as a Symfony sidecar behind the same ingress is viable only if you already operate Symfony infrastructure. Forking it into a Laravel service provider is the highest-fidelity option but inherits an unmaintained codebase and its dependency graph, so reimplementing natively is usually the pragmatic choice.
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.
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo
bernskioldmedia/laravel-harvest
bernskiold/laravel-data-scrubber
bernskiold/laravel-currency-converter
bernskiold/laravel-campaign-monitor
bernskioldmedia/laravel-autotranslate
siberfx/telegram-bot
roy-sandip/laravel-view-extended
gregsphotography/site-builder-core
roy-sandip/laravel-view
anodyne/blade-fluentui-icons
webx-ui/module-catalog-collections