Hera is a multi purpose chatbot, coming with an array of different features like a music player, server metrics tracking, general server moderation features and other fun commands!
Use this link to add Hera without having Discord create a managed role (Some commands might be disabled if Hera is missing necessary Discord permissions)
Application | Status |
---|---|
Hera Chatbot | |
Hera API | comming soon |
Hera Website | comming soon |
The project is structured as a Maven multi module project and functions as a mono-repo containing the Hera chatbot, API & website.
Hera expects a local MySQL database to be ready and available.
To streamline setting up the development environment there are several scripts available in environment/scripts/
.
:warning: Scripts/Instructions are tested on macOS/Linux, there may be complications using other operating systems
Hera Chatbot is the heart of the project and is what users directly interact with via Discord.
The code for it can be found in the core/
module and is written in Java using the Discord4J Discord API wrapper.
env_var_template.sh
and create a new file with its contents called env_var.sh
in environment/scripts/
env_var.sh
, run the script and make sure the environment variables are properly setmysql_prep.sh
script and follow its instructionssetup_db.sh
script to create the database and fill it with test data.core/src/main/java/hera/core/Core.java
:information_source: _Rerun the setup_db.sh
script during development to reset the database_
The Hera Chatbot is automatically built and deployed to an AWS EC2 instance using AWS CodePipeline.
The process is triggered when pushing to master
.
To start Hera, ssh
into the EC2 instance and run the script script/start_hera.sh
.
:exclamation: Don't forget to update the database (which is on an AWS RDS instance) with relevant changes as you deploy
Through the website users can easily configure some of Heras behaviour in their Discord server, as well as get an overview of their servers activity.
The website is written as a React app using TypeScript. The code for it can be found in the website/
module.
12.0.0
installedwebsite/
and run npm install
npm start
to start the local node server and the website will be served at localhost:3000
The Hera Website will be deployed using Github Pages.
This means the website will be automatically deployed when pushing to master
.
npm build
to create a deployable JS bundledocs/
and replace the existing onecoming soon