Bot API
The bot documentation lives on the developer site, developers.voidcom.app, where the API reference is generated from the service's code. This page keeps the essentials so existing links still work.
Base URLs
REST https://api.voidcom.app/api/v10
Gateway wss://api.voidcom.app/wsGET /gateway/bot returns the gateway URL, so a library only needs the REST base changed.
Getting a token
Sign in at developers.voidcom.app with your Voidcom account, create an application and copy its bot token; it is shown once, and you can rotate it later. A server admin adds the bot to a server from the application's install link. There is no OAuth2 authorize URL. Send the token as Authorization: Bot YOUR_VOIDCOM_BOT_TOKEN.
Connecting a library
Two overrides work today; the forks follow once they are published.
// discord.js: override the REST base, the gateway follows from GET /gateway/bot
const client = new Client({
intents: [/* … */],
rest: { api: 'https://api.voidcom.app/api', version: '10' },
});
await client.login(process.env.VOIDCOM_BOT_TOKEN);# discord.py: one line before the client starts
discord.http.Route.BASE = 'https://api.voidcom.app/api/v10'voidcom.py and voidcom.js are thin forks of discord.py and discord.js with the Voidcom URLs, the snowflake epoch and the unsupported routes preconfigured. They are not published yet; until they are, use the two overrides above.
Snowflake timestamps use a Voidcom epoch of 2025-01-01T00:00:00Z. Bots are text only. The Voidcom apps do not render embeds or components or show a slash-command picker yet, so a bot's embeds appear as plain messages and its slash commands cannot be invoked from the apps until the next client release.
Documentation
| Page | What it covers |
|---|---|
| Getting started | Create an application, copy the token, add the bot to a server, run a first bot. |
| API reference | Every REST operation, generated from the service itself, with request and response examples. |
| Gateway | Connection flow, heartbeats, RESUME, the events table and intents. |
| Interactions | Slash commands, buttons, string selects, embeds and their limits. |
| Differences from Discord | What is outside the subset or behaves differently. |