Awesome polyglot framework for building distributed discord bots built on cloud native technologies, rust and containers.
Find a file
2023-01-04 13:38:26 +01:00
.devcontainer restructure project 2023-01-02 18:59:03 +04:00
.github/workflows add macos frameworks 2023-01-03 22:09:02 +04:00
docs remove docusaurus for novadoc 2023-01-02 14:35:22 +01:00
exes fix macos 2023-01-03 21:17:05 +04:00
libs fix tokio not working on windows 2023-01-03 15:54:05 +04:00
proto/nova/ratelimit add ratelimiter service 2023-01-02 20:07:48 +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 add all in one binary 2023-01-03 00:14:27 +04:00
Cargo.toml add all in one binary 2023-01-03 00:14:27 +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 add all in one binary 2023-01-03 00:14:27 +04:00
go.sum add all in one binary 2023-01-03 00:14:27 +04:00
LICENSE update apache v2 licence 2023-01-02 21:40:45 +01:00
README.md fix build badge 2023-01-04 13:38:26 +01: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