This repository is responsible for generating the umbrella documentation available here: https://crux.randomly.space
Handles Discord's sharded gateway api, including reconnecting, zombie connections, and ratelimiting.
Forwards normalized packets as maps with atom keys via gen_stage producers. (One per shard)
Links:
Handles Discord's RESTful bot api, including queues, rate limits, and retries.
Returns transformed Crux.Structs
directly. (Blocks calling process when rate limited)
Links:
Provides Elixir Structs for Discord's api objects, as well as helper structs.
Links:
Provides caches to add, fetch, update, and remove Crux.Structs
.
Also provides a behaviour to implement custom caches which may override the default ones. (For example using redis instead of ets)
Links: