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/
.
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.
- Copy the file
env_var_template.sh
and create a new file with its contents calledenv_var.sh
inenvironment/scripts/
- Fill out the environment variables in
env_var.sh
, run the script and make sure the environment variables are properly set - Run the
mysql_prep.sh
script and follow its instructions - Run the
setup_db.sh
script to create the database and fill it with test data. - Start Hera by running the main method in
core/src/main/java/hera/core/Core.java
ℹ️ 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
.
❗ 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.
- Make sure you have Node.js >=
12.0.0
installed - Navigate to
website/
and runnpm install
- Run
npm start
to start the local node server and the website will be served atlocalhost:3000
The Hera Website will be deployed using Github Pages.
This means the website will be automatically deployed when pushing to master
.
- Run
npm build
to create a deployable JS bundle - Move the bundle to
docs/
and replace the existing one
coming soon