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 Php

Discord Php Laravel Package

team-reflex/discord-php

DiscordPHP is a CLI-focused PHP wrapper for Discord’s REST, Gateway, and Voice APIs. Build bots with event-driven ReactPHP support, with community framework integrations like Laracord for Laravel. Docs and class reference available online.

View on GitHub
Deep Wiki
Context7

An API to interact with the popular messaging app Discord

Frequently asked questions about Discord Php
Can I use DiscordPHP directly in a Laravel web application without CLI workarounds?
No, DiscordPHP is CLI-focused and requires a separate process. For Laravel integration, use **laracord/laracord** to bridge Discord events into Laravel’s service container. Run the bot as a background process (e.g., Supervisor) or via Laravel Artisan commands, then sync state with Redis or a database.
How do I handle Discord bot tokens and configurations in Laravel?
Use Laravel’s built-in configuration system. Store tokens and intents in `config/discord.php`, then bind the Discord client to Laravel’s service container via **laracord/laracord**. This centralizes settings and allows dependency injection into controllers or commands.
Will DiscordPHP work with Laravel’s event system (e.g., `Event::dispatch`)?
Yes, **laracord/laracord** bridges Discord events to Laravel’s event system. For example, a Discord message can trigger `Event::dispatch(new DiscordMessageEvent($message))`, letting you handle it like any other Laravel event. Check laracord’s docs for event mapping.
What Laravel versions does laracord/laracord support, and how do I avoid compatibility issues?
Laracord typically lags behind Laravel’s latest LTS (e.g., Laravel 11 may not be fully supported). Pin laracord to a stable branch in `composer.json` and test thoroughly. If critical features are missing, consider forking laracord or using a community patch.
How do I manage state between Laravel and DiscordPHP if they run in separate processes?
Use a shared cache like Redis or a database to sync state. For example, store user sessions or bot commands in Redis, then access them from both Laravel and DiscordPHP. Avoid file-based caching due to race conditions in multi-process setups.
Can I use DiscordPHP’s voice features (e.g., voice chat bots) in Laravel?
Voice support requires **discord-php/voice**, which depends on PHP extensions like `ext-uv` or `ext-sockets`. Test voice features in staging first, as they add UDP/TCP complexity. Run the voice component in a separate process and communicate via Redis or a queue system.
What’s the best way to handle rate limits when using DiscordPHP in Laravel?
Discord’s API enforces rate limits, which can ban your bot if ignored. Use **GuzzleHTTP’s rate limiting middleware** or implement exponential backoff in your event handlers. Monitor API calls via Laravel’s logging or a dedicated rate-limit tracker.
How do I deploy a Laravel + DiscordPHP bot in production without downtime?
Run DiscordPHP as a daemon (e.g., Supervisor) with auto-restart on crashes. Use Laravel Forge or Envoyer for zero-downtime deployments. For stateful bots, ensure Redis or database connections persist across deployments, and test failover scenarios.
Are there alternatives to DiscordPHP for Laravel that avoid CLI integration headaches?
Yes, consider **jda-php/JDA** (pure PHP, no ReactPHP) or **discord.js** (Node.js) if CLI complexity is prohibitive. For Laravel-native solutions, **laravel-discord** (a wrapper around Discord’s API) avoids CLI entirely but lacks Gateway/WebSocket support.
How do I test DiscordPHP in Laravel before going to production?
Add DiscordPHP’s test bot to your server (via their OAuth link) to validate stability. Use Laravel’s testing tools (e.g., `phpunit`) to mock Discord events, and test event handlers with `laracord/laracord`. For voice features, simulate UDP traffic in a staging environment.
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.
nexmo/api-specification
capell-app/block-library
axium/identity
cetria/laravel-dummy-models
cetria/reflection-helper
agropredict/sso-auth-bundle
evolvestudio/spam-protection
datacore/hub-sdk
develia/commons
cuci/prototurk-sdk
cuci/prototurk-sdk-symfony
develia/geo-bundle
dreamzy/livewire-charts
touchestate-sdk/php-sdk
ecotone/kafka
22h/doctrine-garbage-collection-bundle
agtp/agtp-php
agtp/mod-php
splash/sonata-admin
splash/metadata