Skip to content

V3L0C1T13S/reflectcord

Repository files navigation

Reflectcord

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.

Features

Configurable

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.

Secure

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.

Portable

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!

Project status

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

Screenshots

Reflectcord running Discords official client on the server home page Reflectcord running Discords official client on Revolt's rules channel Reflectcord running the unofficial native and closed source Discord client Ripcord

Setup

Server

Bots

For clients, it's generally recommended you use Diproxi to proxy discord.com requests to your instance.

Diproxi

Credits

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

Disclaimer

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.

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •  

Languages