Table of Contents
Getting Started
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
Installation
Prerequisites:
- Java 11
- Discord bot token (Unsure? Follow this guide)
- Ensure your bot is on your server
Steps to install Babblebot-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)
Configuration
Please look at this configuration guide here
Updating
Manual Updating
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
Automatic Updates
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
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 (π§)
Officially Supported Plugins
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) |
Community Plugins
Name | Description | Link | Namespace |
---|
If you wish to have your plugin displayed here please create a discussion here
Installing Plugins
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
Write your own plugin
If you wish to write your own plugin please follow this guide here
Commands
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 |
Contributing
Firstly, Thank you for taking the time to contribute to Babblebot if you wish to contribute please read the contributing guide here
Authors
- 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.
License
This project is licensed under the MIT Licence - see the LICENSE.md file for details