Hero is an asynchronous, fully modular web application framework for humans allowing you to write applications that connect to Discord. It is intended for:
- developers interested in an easy way to develop a powerful public Discord bot with a clean, readable, pythonic, persistent storage solution, easy-to-use caching, an API and a web frontend
- managers of Discord communities who want to automate tasks on Discord in a highly customizable way and/or without relying on external solutions, and/or want to have an interactive, possibly public web representation of their community
- beginner and intermediate level developers who are interested in asynchronous concurrency with Python using asyncio, and/or writing highly modular, modern web interfaces with Vue
Although Hero is easy to get started with, it comes with all the tools experienced developers enjoy using to build production-ready applications for communities, games or companies on Discord:
- a Discord bot built on top of the rewrite version of discord.py
- a GraphQL API powered by Graphene via Responder
- a web frontend backed by WhiteNoise, Starlette and Jinja2 (also via Responder), written with Vue and Bulma via Buefy
- a familiar asynchronous ORM heavily based on tortoise-orm
- an easy-to-use cache system, optionally powered by Redis, via aiocache and aioredis