Newer
Older
yuyuko-bot / README.md
# 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.