Skip to content

Routing and Requests

sarr-io edited this page Sep 26, 2026 · 1 revision

Routing and requests

Which messages are accepted?

Route precedence is configured channel or thread-parent route, then member route, then guild route. Direct messages require a member route. In a guild, channel routes receive ordinary messages directly; member and guild routes require a bot mention. Slash commands use the registered /agent command and do not require a message route in the same way as ordinary messages.

A route maps a Discord snowflake to a policy name. If there is no applicable route, Connector does not invoke an agent. Add only routes the bot should serve.

Request lifecycle

A newer request interrupts an in-flight request for the same policy, member, and channel. Global concurrency and pending-request limits apply across message and command invocations. Accepted ordinary-message requests show typing while actively running; queued requests do not send periodic typing requests. Slash commands use their deferred reply.

Connector passes message text as UTF-8. Image-enabled policies may receive up to four PNG, JPEG, or WebP attachments, with a combined limit of 4 MiB. Image-only messages are accepted on already-routed channels. Member- or guild-routed guild messages still require a bot mention. Images are not retained for later turns; users must attach them again.

Output

Connector publishes completed assistant turns, not provisional edits. Zinc marks a completed model turn with an empty emission so Connector can send it even when tool execution continues. Long output is split across Discord messages, reopening code fences where needed. Mentions in generated output are disabled. If the configured output-message limit is exceeded, the request fails explicitly.

See Security and operations for limits, failure reporting, and local diagnostics.

Clone this wiki locally