diff --git a/README.md b/README.md new file mode 100644 index 0000000..4f2cf7f --- /dev/null +++ b/README.md @@ -0,0 +1,32 @@ +# Gensokyo.social Discord Bot + +## Features +- Assigns roles based on emojis +- Dinner + +## How to Develop +1. `$ printf 'include "reference"\n\ndiscordToken = "{INSERT_YOUR_DISCORD_TOKEN}"' > local.conf` (`local.conf` is already in gitignore.) +2. `$ sbt` to run sbt and setup project +3. (Within sbt shell) `~assembly` to compile and assemble jar in watch mode (triggered by source file changes) +4. `$ java -Dconfig.file=local.conf -jar target/scala-2.13/GensocBot-{version}.jar` +5. Wait for `~assembly` to finish building on file change and then restart the step 4 + +## How to Deploy +1. Follow first two development steps +2. In `src/main/scala/roleassign/RoleAssign.scala` replace `textId`, `channelId` and `assigners` Sequence to match your desired discord channel, roles and text to watch for reactions. +3. Run `assembly` (without the `~`!) to compile the jarfile once. +4. Copy `target/scala/2.13/GensocBot-{version}.jar` to your machine +5. Create `application.conf` in the same folder as the jarfile and edit as such +``` +include "reference" + +discordToken = "{INSERT_YOUR_DISCORD_BOT_TOKEN_HERE}" +``` +6. Finally, run it with `java -Dconfig.file=application.conf -jar GensocBot-{version}.jar`. + +## Roadmap +- [ ] Command support +- [ ] Config-driven role assignment: Declare desired roles, emojis and text message using config +- [ ] Database-driven role assignment: Allow to declare desired roles, emojis and text message to watch using bot commands (stored in the database) + +Visit our [Discord](https://gensokyo.social/discord) for help. \ No newline at end of file