AarKro / Hera

Hera - A Discord Chatbot

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Hera 💥

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 🚀

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/.

⚠️   Scripts/Instructions are tested on macOS/Linux, there may be complications using other operating systems

Hera Chatbot 🤖

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

ℹ️   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.

❗   Don't forget to update the database (which is on an AWS RDS instance) with relevant changes as you deploy

Hera Website 🌐

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

  • Make sure you have Node.js >= 12.0.0 installed
  • Navigate to website/ and run npm install
  • Run npm start to start the local node server and the website will be served at localhost:3000

Deployment

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

Hera API ⚙️

coming soon

About

Hera - A Discord Chatbot

License:MIT License


Languages

Language:Java 91.1%Language:Kotlin 4.7%Language:Shell 2.0%Language:SCSS 1.2%Language:TypeScript 0.9%Language:HTML 0.1%