A REST and Websocket compatibility layer for Discord->Revolt
Reflectcord is a compatibility layer for running Discord apps, games, clients, and bots on top of the open source chat platform Revolt.
In laymans terms, it translates Discord requests to Revolt requests, and gives Discord apps responses in a form they can understand.
Need only the Discord API, or maybe just the API and Gateway?
Each component of Reflectcord is designed to run as decoupled as possible from other components, and can run fully independently of each other.
Reflectcord uses the Revolt public API, so anything that a normal user can't see, Reflectcord can't see either, reducing your attack surface significantly.
Reflectcord doesnt have to be deployed on the same server the target Revolt instance is running on. You can run Reflectcord on any public Revolt instance, even if you don't own it!
Many features are fully or partially implemented. The official client works well for most use cases. Many frameworks have also been validated to work with Reflectcord, such as Discord.js.
API V8 and higher are considered stable. Anything lower is experimental.
To check if your framework of choice or client works with Reflectcord, refer to the Discord apps wiki
For clients, it's generally recommended you use Diproxi to proxy discord.com requests to your instance.
Server structure, larger utilities, 99% of the work reverse engineering the gateway, more obscure parts of Discords API, the entire WebRTC stack, API middlewares, and more is thanks to the work of Spacebar Chat and its contributors. Seriously, check them out!
Documented a bunch of undocumented OPCodes, reverse engineered OP8
Mainly responsible for documenting settings protobufs, along with tons of OPCodes.
Documented features such as search and slash commands
Discord is trademark of Discord Inc. and solely mentioned for the sake of descriptivity. Mention of it does not imply any affiliation with or endorsement by Discord Inc.