armcord/src/arrpc/README.md

45 lines
1.4 KiB
Markdown
Raw Normal View History

2022-11-19 22:15:05 +00:00
# arRPC
arRPC is an open source implementation of Discord's half-documented local RPC servers for their desktop client. This open source implementation purely in NodeJS allows it to be used in many places where it is otherwise impossible to do: Discord web and alternative clients like Armcord/etc. It opens a simple bridge WebSocket server which messages the JSON of exactly what to dispatch with in the client with no extra processing needed, allowing small and simple mods or plugins. **It is currently in alpha and is very WIP, expect bugs, etc.**
### How to try
1. Clone repo
2. Run server with `node src` (use new Node)
3. Open Discord in browser with CSP disabled (using an extension)
4. Run content of [`simple_mod.js`](simple_mod.js) in console
5. Use an app/thing with RPC
6. Hope it works, if not report bugs :)
## Supported
### Transports
- [x] WebSocket Server
- [x] JSON
- [ ] Erlpack
- [ ] HTTP Server
- [x] IPC
### Commands
- [x] DISPATCH
- [ ] AUTHORIZE
- [ ] AUTHENTICATE
- [ ] GET_GUILD
- [ ] GET_GUILDS
- [ ] GET_CHANNEL
- [ ] GET_CHANNELS
- [ ] SUBSCRIBE
- [ ] UNSUBSCRIBE
- [ ] SET_USER_VOICE_SETTINGS
- [ ] SELECT_VOICE_CHANNEL
- [ ] GET_SELECTED_VOICE_CHANNEL
- [ ] SELECT_TEXT_CHANNEL
- [ ] GET_VOICE_SETTINGS
- [ ] SET_VOICE_SETTINGS
- [ ] SET_CERTIFIED_DEVICES
- [x] SET_ACTIVITY
- [ ] SEND_ACTIVITY_JOIN_INVITE
- [ ] CLOSE_ACTIVITY_REQUEST