Skip to content

Discord

Discord integration uses the Bot API with a Gateway WebSocket connection — no public URL required.

  • DMs and guild (server) channel messages
  • Streaming responses via message edits
  • File attachments (images, audio, documents)
  • Voice message transcription
  • Reply threading
  1. Open the Discord Developer Portal and click New Application
  2. Name it (e.g. “AI Butler”)
  3. Go to Bot in the sidebar → Add Bot
  4. Under Privileged Gateway Intents, enable:
    • Message Content Intent
    • Server Members Intent (optional, for user lookups)
  5. Copy the Bot Token — keep it secret

In OAuth2URL Generator, select the scopes:

  • bot
  • applications.commands (optional, for slash commands later)

Bot permissions needed:

  • Read Messages / View Channels
  • Send Messages
  • Send Messages in Threads
  • Attach Files
  • Read Message History
  • Add Reactions

Copy the generated URL and open it in your browser to invite the bot to a server you own.

Terminal window
aibutler vault set discord_bot_token YOUR_BOT_TOKEN
configurations:
channels:
active:
- discord
Terminal window
aibutler run

Look for channel: discord adapter registered in the logs. The bot should show as online in your server.

FeatureSupported
Direct messagesYes
Guild channelsYes
Mentions (@aibutler)Yes
File attachmentsYes
Voice messagesYes (transcribed via STT)
Streaming repliesYes (message edits)
Thread repliesYes
ReactionsRead-only
Slash commandsNot yet

Bot appears offline. Check that discord_bot_token is set correctly. The bot connects via Gateway WebSocket on startup — firewall rules blocking outbound WebSocket traffic will prevent this.

Bot sees messages but doesn’t respond. You likely haven’t enabled Message Content Intent in the Developer Portal → Bot settings. Without it, Discord sends empty message content.

Token leaked by accident? Regenerate it immediately in the Developer Portal. Discord auto-invalidates tokens that appear in public GitHub commits.