The aim of this project is to create a web interface for the famous IRC bot, Eggdrop.
The idea is to create a connection between a MySQL database, an Eggdrop bot and a web server in order to make them communicate and send commands to one another.
Here's how the bot receives commands from the web interface:
- The web interface writes a record into the MySQL database containing the command and the argument(s) with which the command should be executed.
- Every X seconds, the bot connects to an API server over HTTPS and fetches the actions that were not executed yet.
- The bot interprets the command(s) and performs said actions.
- The bot sends to the API a result message. The API automatically marks the action as executed.
- The user checks the logs from the web interface to know if the action was correctly executed.
The platform is intended to be multiuser. This means that each record in the database will have references to the bot in question, which has references to the user owning the bot.
The user can generate a key for its bot(s) from the web interface, which is needed to access the API. Said key is encrypted and saved in the database.
No direct connection happens between the bot and the database. Only the API and the website can access the database.
This project is still in development. Though the API is completed, there are tons of sections which still need developing.
As of Friday, 26 June 2015, the system works as expected. System commands are already implemented (rehash, restart, die), the bots running the script pick them up correctly and execute them. All that's left is implementing the other commands.
Here's a todo list:
- Complete the dashboard
- User registration
- Give SQL CREATE statement
- Frontend writing
If you wish to contribute and make this happen, feel free to fork the repository and send pull requests and issues.
This project is licensed under GPL v3.0. You can read more about it in the LICENSE file.