A fully modular bot for Discord built on top of Discord4J which can be found here
Features include:
- Fully configurable, Lightweight server
- Plugin system (configuration, persistence, middleware, web-views) (π§)
- Variable parser (using ${var} in response messages)
- Persistent data for plugins (π§)
- Web client (π§)
- Automatic updates (for minor and patch updates)
- Announcement System (Notify users through discord)
- Fully featured help system
NOTE: The emoji "π§" means that the current features are under heavy development and are experimental
- Java 11
- Discord bot token (Unsure? Follow this guide)
- Ensure your bot is on your server
- Download the latest release from: Releases
- Extract the archive anywhere on your machine
- Open up the
bin
folder if you are on Windows run./Babblebot.bat
; Linux run./Babblebot
- On your first run a folder called
config
will be created please add yourDiscord bot token
toconfig/config.json
- Run the application again, then your bot should be online (Any issues? please create a discussion here)
Please look at this configuration guide here
Steps to update manually:
- Download the latest release from: Releases
- Extract the archive anywhere on your machine
- Replace the
lib
folder and replaceBabblebot
andBabblebot.bat
NOTE: if you don't care about keeping the same folder you can copy over the folders `config` and `plugins` and your database file if you have one
Babblebot has a system in place to automatically update itself when a new release is made to turn this off under the config there is system.autoUpdate
change this to false
The system will only update when there is a minor or patch update which would be only Y and Z in this example X.Y.Z
NOTE: you can update to a major version by using --updateMajor when running babblebot it is not recommended as plugins may not support this version use with caution
Plugins are what give power to Babblebot. Without them Babblebot will be a strong server for just 3 commands
Plugins Offer:
- More Commands
- Middleware for the command dispatcher
- More variables (π§)
Name | Description | Link | Server Versions supported | Namespace |
---|---|---|---|---|
audiodj | Play audio in a voice server from various sources | Link | 2.x.x, 3.x.x | Configurable (Default: None) |
Name | Description | Link | Namespace |
---|
If you wish to have your plugin displayed here please create a discussion here
Steps to install a plugin:
- Locate and download the latest version of a plugin it should be a
.jar
file - If not already created, create a
plugins
folder inside thebin
folder - Create a new folder for your plugin it needs to be the same name as the
.jar
file - Place your jar file inside that folder
- Open up your
config/config.json
file and add insideFor additional plugins add a// Old "plugins": [] // New "plugins": [{ "pluginLocation": "<!-- use folder name you used earlier -->" }]
,
between objects e.g.// Old "plugins": [{ "pluginLocation": "plg1" }] // New "plugins": [{ "pluginLocation": "plg1" }, { "pluginLocation": "plg2" }]
- Save & Restart your server
If you wish to write your own plugin please follow this guide here
Babblebot has a core
plugin which by is installed by default it cannot be disabled it has 3 commands that every server will have:
Command (aliases) | Description | Parameters | Since |
---|---|---|---|
help | Display all the commands registered to the server | -(cmd?)=* (Command to have help with) | 1.0.0 |
ignore | Ignore a text channel on your discord server | N/A | 1.0.0 |
listen | Listen to a text channel on your discord server | N/A | 1.0.0 |
register-announcement-channel, register-ac | Register text channel as your announcements channel | N/A | 2.0.0 |
remove-announcement-channel, remove-ac | Remove text channel as your announcements channel | N/A | 2.0.0 |
restart | Restart your server from discord | -(password*)=* (Password to stop unwanted restarts) | 2.1.0 |
Firstly, Thank you for taking the time to contribute to Babblebot if you wish to contribute please read the contributing guide here
- Ben Davies - Lead Developer - Github
Currently, there is only me working on Babblebot, but it's always open for new ideas and contributions!
See also the list of contributors who participated in this project.
This project is licensed under the MIT Licence - see the LICENSE.md file for details