Field note
Discord API & RPC Notes
Authorized integration experiments
Summary
A technical note on small experiments across official Discord bot APIs and local Rich Presence integration surfaces. The work explores authorized interaction, Gateway, and local IPC behavior in Rust and Node.
Role and scope
I built and maintained small bot/API and Rich Presence experiments. This note focuses on the boundary between an authorized application and official bot/API or local RPC behavior; it does not represent a client delivery or a production service.
Surfaces and libraries
Three surfaces, and the libraries that sit in front of each one. The Rust side is Twilight, which is a set of independent crates rather than one framework, so you pick the pieces the bot actually needs:
| Surface | Rust | Node / TypeScript |
|---|---|---|
| Gateway | twilight-gateway, twilight-cache-inmemory, twilight-standby | discord.js, @discordjs/ws |
| HTTP API | twilight-http, twilight-model, twilight-validate | discord.js, @discordjs/rest |
| Local IPC | discord-rich-presence, discord-presence | discord-rpc, @xhayper/discord-rpc |
The client-side work is separate from all three: Vencord plugins, written in TypeScript, which run inside a modified desktop client rather than against an official API. It is listed here because it is part of the same body of work, not because it belongs to the same integration boundary.
Discord API and RPC notes
Authorized integration surfaces, kept deliberately narrow
Outcome
Built experiments across official bot APIs and Rich Presence.
What I would improve
I would consolidate the experiments into one focused integration with documentation, tests, and clear operational ownership.
Need an official API integration with a focused technical owner? Discuss your project.