A modular framework for building Discord bots in Kotlin using Kordex and Kord.
If you are here for mikmusic, click here and there.
If you are here for Votebot, click here.
For a full explanation on how to deploy the bot yourself take a look at this
- Sentry (Optional)
- Docker
- Docker Compose
.env
ENVIRONMENT=PRODUCTION
SENTRY_TOKEN=<>
DISCORD_TOKEN=<>
MONGO_URL=mongodb://bot:bot@mongo
MONGO_DATABASE=bot_prod
LOG_LEVEL=DEBUG
BOT_OWNERS=416902379598774273
OWNER_GUILD=<>
UPDATE_PLUGINS=false #if you want to disable the auto updater
Docker image from: https://github.com/DRSchlaubi/mikmusic/pkgs/container/mikmusic%2Fbot
- Clone this repo
- Run
docker-compose up -d
The bot has two repositories for binaries the binary-repo containing the bots binaries and the plugin-repo (index) normally you should not need to interact with these repositories directly.
JDK is required it can be obtained here (Recommended for Windows but works everywhere) and here (Recommended for Linux/Mac)
Please set the ENVIRONMENT
env var to DEVELOPMENT
whilst developing the bot.
Also set a TEST_GUILD
environment variable, for local commands
If you are making any changes to the bots official plugins (aka the plugins in this repo),
please run the rebuild-plugin-dependency-list.sh
script first, otherwise your plugins won't be loaded properly
You can find a detailed guide on how to write plugins here