Mappy is a Discord bot created for the JourneyMap Discord server. Mappy is written fully in Kotlin, and handles some of the day to day moderation and utility tasks on the server.
Mappy is written using kord-extensions and contains some code written for the Kotlin Discord bot.
We heavily recommend using IntelliJ IDEA when working with this project. Other IDEs are acceptable, but they will be unable to understand the project files in this repo.
-
If you have commit access to the repo, create a branch for your changes
- If not, fork it, but make sure you still create a branch for your changes
-
Clone the repo, switch to the branch, and get hacking
-
Use the
build
gradle task to compile Mappy - JARs will be placed inbuild/libs
(the-all
JAR is the one to run) -
Open your pull request early and mark it as a work-in-progress
-
Once your changes are completed, provide screenshots and a summary of changes in your PR, and remove the work-in-progress status
-
Wait for us to review your PR, and then address those reviews
Once your pull request has passed our review process, then it will be merged into master
. Congratulations!
We recommend that Mappy be run using Docker. That said, you can also directly run the production JAR - you can find downloads attached to each Actions build.
Mappy makes use of the konf
library, and in particular supports configuration files written in TOML, in a
file named config.toml
. Configuration values may also be provided using system properties or environment variables.
The default configuration
can be found here.
For example:
[bot]
guild = 239040424214396929
prefix = "!"
The guild
entry under the bot
header will be referred to as bot.guild
, and
is defined here.
When working with environment variables, you replace every dot (.
) with an underscore (_
), and make the entire key
upper-case. For example, BOT_GUILD=239040424214396929
. For more information on how this works, see
part 3 of the konf quick-start.
If you're wondering what can be configured, please take a look at the config spec objects.