This bot was created specifically for the Discord server of the german YouTuber and Twitch Streamer nordrheintvplay. The core feature of this bot is a leveling system, similar to Mee6, but with a high level of customization. Besides 3 currencies that can be collected, there are 13 items that all bring different functions and advantages. In addition, there are various temporary events, daily rewards and many other useful features.
The bot is in constant development. Join the test server to receive regular updates, make suggestions and test preview versions. This is also the place to get support if you want to host the bot by yourself.
Due to the high level of customization, I do not provide a public instance that anyone can invite. However, you can still host your own version of the bot. Therefore, you should have a basic understanding of Maven, MySQL, Discord bots in general and intermediate knowledge of Java and Spring Boot.
Make sure to have the following things up and running:
- Java 11
- MySQL Server
- Maven
- git
git clone https://github.com/Kaktushose/Levelbot.git
Go to the resources folder and add the following application.properties
file:
spring.jpa.hibernate.ddl-auto=update
spring.datasource.url=jdbcurl
spring.datasource.username=username
spring.datasource.password=password
Make sure to set ddl-auto
to none
once you are in production environment.
There are also some hardcoded values (e.g. channel ids) inside the codebase, make sure to change them.
Go to this line and provide your own bot token.
As soon as you start the bot for the first time, Spring Boot will create all the database tables automatically. Afterwards you can start to fill in values, the column names should be self-explanatory. Feel free to hit me up, if you need help with this step. Kaktushose#4036 is my discord tag.
Once you are done with all configuration steps, you can build the jar and run it:
mvn clean package
java -jar Levelbot.jar
If you believe that something is missing, and you want to add it yourself, feel free to open a pull request. I recommend opening an issue first to prevent misunderstandings or waste of time because I'm already making your feature. Please try to keep your code quality at least as good as mine and stick to the design concepts of this project.
- Java 11
- Maven - Project Management Software
- JDA - Discord API Wrapper
- jda-commands - Command Framework
- MariaDB - Database
- Spring Boot Data JPA - Database Access