logiksystems/hephaestus-application

A skeleton of an hephaestus application. Based on top of Laravel-Zero; provided with Hephaestus Framework.

v0.0.0 2024-05-03 14:59 UTC

This package is auto-updated.

Last update: 2024-11-03 16:31:36 UTC


README

Hephaestus is a PHP framework based on top of DiscordPHP and Laravel-Zero (cli Laravel version)

It's an educational project.

It aims to provide an expressive API to manage your bot.

The project is to build a similar way to handle Interactions as if it was a Request in a Laravel HTTP Kernel, with middlewares and controllers.

Currently you can :

  • Create an application SLASH COMMAND :

    • implementing a class extending Hephaestus\Framework\Abstractions\ApplicationCommands\AbstractSlashCommand inside your app/InteractionsHandlers/SlashCommands directory. (this class extends Discord\Parts\Interactions\Command\Command)
    • define required properties such as name, description and default_member_permission
  • Create a middleware and register it globally inside your config/hephaestus.php.

  • Currently bot shares application state, if application is in maintenance it can only interact with configured guilds inside config/hephaestus.php.

Feel free to report bugs or submit PR on :

https://github.com/bc-ts/hephaestus-framework/issues

(Since having the bot starting directly in application, you have access to kernel for a temporary laravel-zero container to interact with your application. I'm refactoring.)