Skip to main content
The Discord replica implements 25 REST API v10 endpoints. Your agent acts as a bot in one community server. Its role and each channel’s permission overwrites decide what it can read and send. Its key is discord.

Connect

TypeScript
This is what ancha connect discord --lang ts prints. It uses REST requests; the replica does not provide Gateway events.

Endpoints

Run ancha twins coverage discord for the endpoint notes. Calls outside the coverage return Discord’s error shape with x-ancha-gap: 1.

Starter data

The discord-starter dataset is Acme Community. The bot is acme_assistant, shown as Acme Assistant. Ten people belong to the server, with Acme Staff and Beta testers roles. The channels sit under the info, community and acme-team categories. ancha sandbox configuration --tools discord --json prints their permissions, messages and threads.

Checks

Discord has no state checks. Use trace checks, for example { called: "POST /api/v10/channels/*/messages" } or { not_called: "DELETE /api/v10/channels/*/messages/*" }.

Limits

  • REST only: no Gateway events, slash commands, webhooks or voice.
  • Attachments, components and polls are coverage gaps.
  • Sending and reading follow the bot’s permissions. Editing is limited to the bot’s own messages; deleting someone else’s message and pinning need Manage Messages.
  • Reactions use Unicode emoji. New threads are public.