A general purpose Discord bot made with love using the Java Discord API (JDA), designed to help small Twitch streamers
Branch: master
Clone or download

README.md

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 :

The API can be found here. However, the required dependancies 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.
  • 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 open 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 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 ...)

Since BlueBot is using JavaFX for the GUI, you'll need to install an additional library to run the app without a display. The OpenJFX Monocle library can be found here (you can find it on the web, but this is the version I'm using on my server).

  • Install Java 8 (ex. Debian : sudo apt-get install java-8-oracle)
  • Install OpenJFX (ex Debian : sudo apt-get install openjfx)
  • Place the downloaded .jar in the ${JAVA_HOME}/jre/lib/ext folder (for me it's /usr/lib/jvm/java-8-oracle/jre/lib/ext with Debian 8)
  • Run the bot with java -jar -Xmx512m -Dtestfx.robot=glass -Dglass.platform=Monocle -Dmonocle.platform=Headless -Dprism.order=sw BlueBot.jar cmd

License

This project is released under the MIT License.