logiksystems / hephaestus-application
A skeleton of an hephaestus application. Based on top of Laravel-Zero; provided with Hephaestus Framework.
Requires
- php: ^8.1
- illuminate/log: ^10.0
- laravel-zero/framework: ^10.0
- logiksystems/hephaestus-framework: ^0.0
- nunomaduro/termwind: ^1.0.0
Requires (Dev)
- laravel/pint: ^1.15.1
- mockery/mockery: ^1.6.11
- pestphp/pest: ^2.34.7
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 yourapp/InteractionsHandlers/SlashCommands
directory. (this class extendsDiscord\Parts\Interactions\Command\Command
) - define required properties such as
name
,description
anddefault_member_permission
- implementing a class extending
-
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 :
(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.)