Awesome polyglot framework for building distributed discord bots built on cloud native technologies, rust and containers.
Find a file
2023-01-02 18:59:03 +04:00
.devcontainer restructure project 2023-01-02 18:59:03 +04:00
.github/workflows Update docker-publish.yml 2022-12-31 17:48:52 +04:00
docs fix crash on startup 2022-12-31 18:22:30 +04:00
exes restructure project 2023-01-02 18:59:03 +04:00
libs restructure project 2023-01-02 18:59:03 +04:00
proto/nova/ratelimit restructure project 2023-01-02 18:59:03 +04:00
.deepsource.toml Add .deepsource.toml 2021-10-12 11:19:33 +00:00
.dockerignore updates and bazel removal 2022-12-31 17:07:30 +04:00
.gitattributes fix line endings 2021-10-14 20:49:58 +00:00
.gitignore restructure project 2023-01-02 18:59:03 +04:00
Cargo.lock restructure project 2023-01-02 18:59:03 +04:00
Cargo.toml restructure project 2023-01-02 18:59:03 +04:00
docker-compose.yaml restructure project 2023-01-02 18:59:03 +04:00
Dockerfile add dockerfile 2022-12-31 17:43:42 +04:00
go.mod upgrade dependencies 2021-10-18 12:29:16 +04:00
go.sum upgrade dependencies 2021-10-18 12:29:16 +04:00
LICENSE.md fix line endings 2021-10-14 20:49:58 +00:00
README.md fix line endings 2021-10-14 20:49:58 +00:00

Nova

Build

What is nova ?

Nova is a complete framework for building reliable and stable discord bots using a services based system to operate all the components needed to operate a discord such as the discord gateway, new discord webhooks for receiving interactions. Using a traditional infrastructure (sharder / process), we can quickly reach bottlenecks when we scale to multiple thousands of shards. Nova is a way to avoid these problems by building a scale-first discord framework that creates an environment that allow better testing, reliability and operations easier.

Advantages

With the help of Nova, you can achieve a number of things, such as

  • Scaling of workers independent of the number of shards
  • zero-login updates
  • Automatic shards scaling
  • Shared cache for the whole bot (without broadcastEval and other unsafe methods)
  • Stateless workers, easier to test
  • Distributed rest rate-limiting
  • Easier fine-tuned monitoring using cloud-native technologies
  • Languages agnostic apis

How did we solve this ?

Nova separates the gateway into multiple smaller components corresponding to each discord apis

FOSSA Status