A clojure based self-hosted music bot for Discord - built using Discord4J and lavaplayer.
To run the bot, you will require an API token for a bot user - see the discord.py docs if you need help creating a bot user. Version artifacts are available on both Dockerhub and the Github releases tab.
With Java installed, running the bot should be fairly simple. With cljukebox.jar
downloaded to a folder, you can run the following:
java -jar cljukebox.jar <api-token>
This will set up the bot with your API token (- so in future runs bot can be ran with:
java -jar cljukebox.jar
To persist bot configuration between runs, you will need to make a docker volume. To create a volume, run the following:
docker volume create <volume-name>
Once you have the above set up and you have pulled the latest version of the bot, you can run the following command:
docker run -v <volume-name>:/usr/lib/cljukebox danmason/cljukebox:0.1.0 <api-token>
This will set up the bot with your API token - so in future runs bot can be ran with:
docker run -v <volume-name>:/usr/lib/cljukebox danmason/cljukebox:0.1.0
Push a tag to the repository with the new version number - CircleCI will build the Uberjar and upload it to the tag's release, and will push the docker image to Dockerhub.
Copyright © 2021 Daniel Mason
This program and the accompanying materials are made available under the terms of the Eclipse Public License 2.0 which is available at http://www.eclipse.org/legal/epl-2.0.
This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability set forth in the Eclipse Public License, v. 2.0 are satisfied: GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version, with the GNU Classpath Exception which is available at https://www.gnu.org/software/classpath/license.html.