Skip to content
This repository was archived by the owner on Jan 27, 2024. It is now read-only.
/ moto-bot Public archive

Discord bot for Wynncraft utility commands! (version 2, refactored)

License

Notifications You must be signed in to change notification settings

motoki317/moto-bot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

818ca10 · Dec 13, 2022
Oct 9, 2022
Apr 12, 2022
Feb 6, 2022
Nov 8, 2022
Jan 27, 2021
Apr 29, 2021
May 1, 2021
Jun 4, 2022
Jan 31, 2020
Oct 9, 2022
Feb 11, 2022
Feb 11, 2022
Feb 11, 2022
Dec 13, 2022

Repository files navigation

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.

  • make build to (re-)build the image and launch the bot.
  • make up to launch the bot (does not rebuild the image).
  • make down to stop the bot and DB.

For debugging:

  • make db-up to launch only the DB container.
  • make db to connect to DB (password: password).
  • mvn test to run tests. DB container needs to be launched.

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.