Skip to main content

Overview

OpenSRE’s Discord integration supports two-way gateway chat (DMs, @mentions, active threads) and the /investigate slash command. The gateway connects over Discord’s Gateway WebSocket with discord.py — you do not need a public /discord/interactions URL for normal operation. There are no registered Discord investigation tool packages today — Discord is delivery + gateway chat.

Prerequisites

  • A Discord server where you can add applications (Manage Server).
  • An OpenSRE host running opensre gateway start (local or deployed).
  • Discord Privileged Gateway Intent: Message Content enabled for the bot (required to read @mentions and thread replies in servers).

Setup

Option 1: Onboarding / CLI wizard

Option 2: Environment variables

Discord turns are billed and stored against the organization in ORGANIZATION_ID. Without it every turn is refused — the bot appears online and silently does nothing, and the reason is only in the gateway log. Set DISCORD_SILO_GUILD_IDS on any deployment holding real credentials. Leaving it unset means any server that adds the bot inherits that organization’s integrations. Approving a write action always requires DISCORD_ALLOWED_USERS. DISCORD_ALLOW_OPEN_GUILD opens chat, never approvals, so with no allowlist every Approve/Deny click is ignored. Allow yourself explicitly:
Start the gateway:
When configured, status includes discord: connected via gateway.

Credentials

Create a Discord application and bot

  1. Go to the Discord Developer Portal and click New Application.
  2. Open the Bot tab:
    • Copy the Token (DISCORD_BOT_TOKEN).
    • Enable Message Content Intent under Privileged Gateway Intents.
  3. On General Information, copy Application ID and Public Key (still used by onboarding and optional HTTP tooling).

Invite the bot with the right permissions

In OAuth2 → URL Generator, select scopes bot and applications.commands, then bot permissions:
  • View Channels
  • Read Message History
  • Send Messages
  • Send Messages in Threads
  • Embed Links
  • Add Reactions
  • Use Application Commands
Open the generated URL and add the bot to your server.

Investigation tools

No Discord-specific investigation tools are registered. Use Discord for:
  • DM the bot, @mention it in a channel, or reply in a thread where it is already engaged
  • Slash command (registered at onboarding / finalize when application id + bot token are present):
Gateway turns use the same agent session model as Slack and Telegram: /new, /help, and /pair <code> work in Discord text. Each member gets their own conversation, even in a shared channel: your history and /new never affect a teammate’s. Integrations you connect are shared by the whole organization. Pairing:

Verify

Verification checks the bot token against Discord /users/@me only.

Troubleshooting

Security

  • Prefer a dedicated Discord application for OpenSRE.
  • Keep DISCORD_ALLOWED_USERS set in production; treat DISCORD_ALLOW_OPEN_GUILD=1 as dogfood only.
  • Set DISCORD_SILO_GUILD_IDS on deployments with real credentials.
  • Store the bot token in the store / keyring / secret manager — not in source control.