Source code for Riven Bot
This repository has all the source code that makes the Riven Bot work. The idea is to have a Discord bot that contains very useful utilities for D2 players that use Discord as their main social media platform like retrieving weekly-rotation information for in-game activities and player-specific raid/dungeon statistics.
Because I can and I want to learn through projects that I find fun and challenging.
- Spring Boot - Official documentation for Spring Boot
- Spring Webflux - Official documentation for Spring Reactive framework, for Project Reactor see here
- Redis - Official documentation for Redis
- Docker - Official documentation for Docker & Docker Compose
- MongoDB - Official documentation for MongoDB
- JUnit5 - Official documentation for JUnit5 for testing JVM based languages
- Mockito - Official documentation for Mockito
- AssertJ - Official documentation for AssertJ assertions framework for testing
- Test Containers - Official documentation for Test Containers using Java
- Wiremock - Official documentation for Wiremock
- Loki - Official documentation for OSS Loki
- Grafana - Official documentation for OSS Grafana
- Loki4j - Official GitHub repository for Loki4j Logback Appender
Any information regarding versions of specific dependencies you can find it in the build.gradle
file at the root directory of the project
You can invite Riven to your server here Riven will be back soon! We're in the process of moving infrastructure somewhere else.
So far the bot has limited functionality and the focus of the next releases will be to polish out the /raid_stats
command, improving the time it takes to load hundreds, even thousands of raid reports to calculate the numbers for an individual player, as well as adding filters to the command itself if the user would prefer to narrow down their search to only one raid at a time.
Here's a small demo of how the Raid Statistics are utilized and presented when using RivenBot:
RivenBot.Demo.mov
This is meant to be a personal-project, therefore any issues or suggestions are appreciated but the development of the bot is under my responsibility and of selected trusted individuals. If you have an awesome idea for this bot, you can open a GitHub issue; that way we can discuss the idea further.