drmaxis/deploybot

Reusable Slack + Discord bot for Laravel

Maintainers

Package info

github.com/DrMaxis/DeployBot

pkg:composer/drmaxis/deploybot

Statistics

Installs: 21

Dependents: 0

Suggesters: 0

Stars: 1

Open Issues: 0

v0.3.0 2026-06-30 04:18 UTC

This package is auto-updated.

Last update: 2026-06-30 04:20:05 UTC


README

Packagist Version Tests License

A Slack + Discord bot framework for Laravel. Drop it in, register your slash commands, ship.

Install

composer require drmaxis/deploybot
php artisan vendor:publish --tag=deploybot-config
php artisan vendor:publish --tag=deploybot-migrations
php artisan vendor:publish --tag=deploybot-routes
php artisan migrate

Configure

# .env
DEPLOYBOT_SLACK_SIGNING_SECRET=
DEPLOYBOT_SLACK_BOT_TOKEN=

# optional — one per logical channel
DEPLOYBOT_DISCORD_WEBHOOK_RELEASES=
DEPLOYBOT_DISCORD_WEBHOOK_INCIDENTS=

Register a command

use DrMaxis\Deploybot\Commands\CommandContext;
use DrMaxis\Deploybot\Commands\CommandInterface;
use DrMaxis\Deploybot\Commands\CommandResponse;

class PingCommand implements CommandInterface
{
    public static function name(): string { return 'ping'; }
    public static function description(): string { return 'Reply with pong.'; }
    public static function requiresAdmin(): bool { return false; }

    public function handle(CommandContext $ctx): CommandResponse
    {
        return CommandResponse::message('pong');
    }
}

Register from a service provider:

public function boot(CommandRegistry $registry): void
{
    $registry->register(PingCommand::class);
}

Point your Slack app's slash command at https://your-app.example/deploybot/slack/command. The built-in help command lists every registered command.

What's in the box

  • HMAC signature verification (constant-time, with timestamp-skew replay guard)
  • Slash-command dispatcher with admin allowlisting
  • Slack Web API client (chat.postMessage, chat.postEphemeral)
  • Discord webhook client (multi-purpose routing)
  • Channel-subscription model for broadcasting events
  • Block Kit response envelope types
  • Auto-discovered service provider · Laravel 12 / 13

Contributing

See CONTRIBUTING.md.

Security

Report privately via GitHub security advisories. See SECURITY.md.

License

MIT