Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/thibautbessone/DiscordBlueBot

Customizable soundboard bot for Discord, along other useful commands
https://github.com/thibautbessone/DiscordBlueBot

bluebot bot discord java jda soundboard

Last synced: 3 months ago
JSON representation

Customizable soundboard bot for Discord, along other useful commands

Awesome Lists containing this project

README

        

# BlueBot - A Java-written Discord bot


BlueBot
BlueBot

Join the support server :








You can add the bot to your server by clicking on
this link


You can also contact me on **Steam** : [](http://steamcommunity.com/profiles/76561198206490817)

The **API** can be found [here](https://github.com/DV8FromTheWorld/JDA).
However, the required dependencies for the bot are included in this repository.

**BlueBot** will provide useful features like :
* Moderation & utility features
* Ability to enable & disable features
* Owner-only commands
* Extensible & customizable soundboard
* CleverBot integration (currently disabled)
* GIFs search
* Twitch alerts
* Command prefix customization
* Quick reactions, jokes & other stuff
* Cyanide & Hapiness comics

* More to come !

## Getting started

To edit the code, just follow these steps :
* Create your own app [here](https://discordapp.com/login?redirect_to=/developers/applications/me).
* **Clone the project** into your favorite IDE using GitHub's integration (if you're not downloading a release).
* On your application page, get your application **token**
* Open **config.blue**
* Replace **YOURTOKENHERE** by your application token
* Replace **YOURIDHERE** by your ID
* Create a directory named soundboard in the bot's root folder. You will place your .mp3 files here.

## Interface

* Double click anywhere on the background to minimize
* Click anywhere on the background to drag the window
* Start buttons launches the bot, Stop button stops it
* Edit button opens the config file in your default text editor
* Quit button stops the bot (if running) and closes the window

## Commands

BlueBot provides a lot of commands. Use ```!help``` to display the complete list of them.

By typing ```help``` after each command, you'll get information on how to use the command.

**Example :** by typing ```!ping help``` you'll get the following response :
```
The command ping pings the bot (to check if it's online). Usage : !ping
```

## Hosting the bot

You can host your own instance of the bot. To do so, head over to the [Releases](https://github.com/thibautbessone/DiscordBlueBot/releases) page and download the latest one.
To run BlueBot, you'll need Java 8 and OpenJFX. After installing them (Google is your friend, it depends on your OS), you'll be ready to go.

If you are using the bot on several servers, in order to have a dedicated soundboard per server, you'll have to :
* Enable Discord Developer mode (in the app settings, go to Appearance -> Advanced -> Toggle Developer mode on), then right click on your server and click on ```Copy ID```.
* Inside the `soundboard` folder, create a folder named like the server ID (for example, if one of the server has ```264445054966991498``` as ID, you want to name your folder ```264445054966991498```)
* Drop your .mp3 files inside this folder. These sounds will only be available on this particular server.

To toggle between the general soundboard and the dedicated one, remember to use the ```!enable``` and ```!disable``` commands.

## Running BlueBot on a headless device (VPS, Raspberry ...)

First, install Java with OpenJDK & OpenJFX:
* Install OpenJDK (ex. Debian : ```sudo apt-get install openjdk-11-jdk```)
* Install OpenJFX (ex Debian : ```sudo apt-get install openjfx```)

Since BlueBot is using JavaFX for the GUI, you'll need to install a display emulator to run the app. I personally use [Xvfb](https://www.x.org/releases/X11R7.6/doc/man/man1/Xvfb.1.xhtml)

* Install Xvfb (ex. Debian : ```sudo apt-get install xvfb```)
* Run ```Xvfb :1 &``` to start an emulated display in the background
* Run ```export DISPLAY=:1``` to set it as main display
* Run the bot with ```java --module-path /usr/share/openjfx/lib --add-modules javafx.controls -jar BlueBot.jar cmd &```

## License

This project is released under the [MIT License](https://github.com/thibautbessone/DiscordBlueBot/blob/master/LICENSE).