motoki317 / moto-bot

Discord bot for Wynncraft utility commands! (version 2, refactored)
https://discord.gg/hdKfEeV
MIT License
6 stars 2 forks source link
bot discord discord-bot minecraft wynncraft

moto-bot

A discord bot for Wynncraft utility commands, written in Java using JDA.

See usage (old v1 info): https://forums.wynncraft.com/threads/223425/

Development

Some useful shortcuts for development are written in Makefile.

For debugging:

Production

You can either manually build and install the bot, or pull image from the release. Using docker might be easier but overheads could be a problem in small servers.

Manual Installation

Manual build and installation (does not use docker)

  1. Clone this repository.
  2. Install correct version of MariaDB (see docker-compose.yaml at root).
  3. Execute sql files in mysql/init directory.
  4. Set these environment variables for the bot.
    • PORT ... Server port. Exposes Prometheus metrics on /metrics.
    • DISCORD_ACCESS_TOKEN ... Discord bot account access token
    • BOT_DISCORD_ID ... Discord user ID of the bot
    • BOT_LOG_CHANNEL_0 ~ BOT_LOG_CHANNEL_4 ... Discord channel IDs to which bot sends logs
    • PLAYER_TRACKER_CHANNEL ... Discord channel ID to which bot sends player number logs once a day
    • BOT_RESTART_CHANNEL ... Discord channel ID to which bot sends a log on every restart
    • MYSQL_HOST ... MariaDB host name
    • MYSQL_PORT ... MariaDB port
    • MYSQL_DATABASE ... MariaDB database name
    • MYSQL_USER ... MariaDB username
    • MYSQL_PASSWORD ... MariaDB password for the given username
  5. Install maven (see Dockerfile at root for version).
  6. Build, and launch the bot.
    mvn clean package -D skipTests
    ./target/bin/main

Docker Installation

  1. Clone this repository, or copy the root docker-compose.yaml and mysql/init directory since only these files are required.
  2. Create a file named .env and set environment variables (see .env-sample).
  3. Execute docker-compose up -d.