Apus connects to Discord as a bot over the official Discord gateway. DMs and guild channels are supported.

Pairing

Discord DMs default to pairing mode.

Slash commands

Native command behavior and command catalog.

Channel troubleshooting

Cross-channel diagnostics and repair flow.

What each page covers

Where each section moved

Every section heading from the previous single-page version keeps its anchor here, so an existing link such as /channels/discord#voice-channels still resolves. Each entry points at the page that now holds the content.

Configuration reference

Primary reference: Configuration reference - Discord.

High-signal Discord fields
  • startup/auth: enabled, token, applicationId, accounts.*, allowBots
  • policy: groupPolicy, dmPolicy, allowFrom, dm.*, guilds.*, guilds.*.channels.*
  • group introductions: joinIntro, accounts.*.joinIntro (default: true)
  • command: commands.native, commands.allowFrom (global), configWrites, slashCommand.ephemeral
  • gateway: proxy
  • reply/history: replyToMode, historyLimit, dmHistoryLimit, dms.*.historyLimit
  • delivery: textChunkLimit (default 2000), maxLinesPerMessage (default 17)
  • streaming: streaming.mode, streaming.chunkMode, streaming.preview.*, streaming.progress.*, streaming.block.* (legacy flat streamMode, draftChunk, blockStreaming, blockStreamingCoalesce, chunkMode keys are migrated into streaming.* by apus doctor --fix)
  • media: mediaMaxMb (caps outbound Discord uploads, default 100)
  • actions: actions.*
  • presence: activity, status, activityType, activityUrl, autoPresence.*
  • features: threadBindings, top-level bindings[] (type: "acp"), pluralkit, execApprovals, intents, agentComponents.enabled, agentComponents.ttlMs, activities, heartbeatVisibility, responsePrefix

Discord Activities

Set channels.discord.activities to let the core show_widget tool post self-contained HTML widgets that open inside Discord. The block is opt-in. Discord registers the Activity plumbing statically, but the current-channel presenter stays unavailable and /discord/activity remains externally hidden behind the normal 404 until an enabled account has an available bot token, resolved client secret, and application ID. See Discord Activities for the Developer Portal, tunnel, security, and troubleshooting setup.

Safety and operations

Discord model-picker preferences and thread bindings use SQLite. Their old discord/model-picker-preferences.json and discord/thread-bindings.json files predate the July 2026 upgrade support window. Doctor preserves these files and reports recovery guidance instead of importing them. Keep a pre-update backup, upgrade through Apus 2026.9.5, and run apus doctor --fix before installing the latest version. July SQLite state and the July command-deployment cache remain supported.

Related

Discord Activities

Launch interactive HTML widgets inside Discord.

Pairing

Pair a Discord user to the gateway.

Reactions

Emoji reaction semantics for the `message` tool.

Groups

Group chat and allowlist behavior.

Channel routing

Route inbound messages to agents.

Security

Threat model and hardening.

Multi-agent routing

Map guilds and channels to agents.

Slash commands

Native command behavior.