AarKro / Hera

Hera - A Discord Chatbot
MIT License
9 stars 1 forks source link
d4j discord discord-bot discord-java hera music-player song-playing

Hera :boom:

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!

Invite Hera to your server!

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 build status pipeline status
Hera API comming soon
Hera Website comming soon

Development Setup :rocket:

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 :robot:

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.

Setup

:information_source:   _Rerun the setup_db.sh script during development to reset the database_

Deployment

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

Hera Website :globe_with_meridians:

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.

Setup

Deployment

The Hera Website will be deployed using Github Pages.
This means the website will be automatically deployed when pushing to master.

Hera API :gear:

coming soon