Download the PHP package robotic-passion/livia without Composer
On this page you can find all versions of the php package robotic-passion/livia. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download robotic-passion/livia
More information about robotic-passion/livia
Files in robotic-passion/livia
Package livia
Short Description Livia is a Discord Bot framework for PHP.
License Apache-2.0
Informations about the package livia
Livia 
Livia is a Discord Bot framework, which utilizes Yasmin, the Discord API library.
Commando was used as template for the design of Livia.
Getting Started
Use composer to install Livia and its dependencies.
Built-in Argument Types
Livia ships with a few argument types you can use for your command arguments. Here's a list:
- boolean
- channel
- command
- command-or-group
- float
- group
- integer
- member
- role
- string
- user
Built-in Commands
The following commands are coming with Livia:
- disable (disable commands/groups)
- enable (enable commands/groups)
- load (load new commands)
- reload (reload command(s))
- unload (unload a command)
- eval (evaluates PHP code)
- All PHP errors get thrown.
- Defines randomized eval namespace for eval execution.
- It has an anonymous function called
$doCallback
, which takes whatever value you give, inspects it and sends it as reply to Discord. - The client is exposed through
$this->client
and$client
. - You have access to the specific
CommandMessage
instance through$message
. - The last eval result is accessible through
$this->lastResult
.
- help (displays a help message in DM)
- ping (calculates the bot's latency)
- prefix (gets or sets the bot's prefix in the guild/globally)
Setting Provider
A Setting Provider sits as middle-man between Livia and the DBMS. The job of the Setting Provider is to permanently store the settings, such as guild prefixes.
There are two providers included in Livia:
MySQL/MariaDB (react/mysql)
MySQLProvider
- a provider for MySQL/MariaDB, which utilizes react/mysql
.
Usage:
Plasma
PlasmaProvider
- a provider for Plasma plasma/plasma
.
Plasma is a non-blocking, asychronous data-access database abstraction layer. To use plasma you also need a driver, which communicates with the database server.
For MySQL/MariaDB there is plasma/driver-mysql
, which supports Prepared Statements.
Usage:
Making Commands
Livia features Commands Reloading, which requires you to return an anonymous function in your command file, which returns a new anonymous class.
Do not declare functions outside of the class. This will turn into a Fatal Error as the function can not be re-declared.
Other restrictions apply as well. If you need any (helper) functions or constants, declare them inside the class as method or class constant.
Example:
Example
Documentation
All versions of livia with dependencies
valzargaming/collection Version ^0.2.0
valzargaming/validator Version ^0.3.0|^0.2.0
valzargaming/yasmin Version ^0.6.0|dev-master
symfony/var-dumper Version ^4.1