Features
- Direct messages and server channels
- Thread support with auto-threading
- Media attachments and embeds
- Polls and reactions
- Native slash commands
- Interactive components (buttons, modals)
- Message streaming with coalescing
Setup
Create Discord Application
- Go to Discord Developer Portal
- Click “New Application”
- Give it a name and create
- Navigate to the “Bot” section
- Click “Add Bot” and confirm
Configure Bot Permissions
In the Bot section:
- Enable “Message Content Intent” under Privileged Gateway Intents
- Copy the bot token (click “Reset Token” if needed)
Invite Bot to Server
- Go to OAuth2 → URL Generator in Developer Portal
- Select scopes:
bot,applications.commands - Select bot permissions:
Read Messages,Send Messages,Embed Links,Attach Files,Read Message History,Add Reactions - Copy the generated URL and open in browser
- Select server and authorize
Configuration
Basic Configuration
Environment Variable
Multi-Account Setup
Run multiple Discord bots:Security
DM Policy
Guild and Channel Configuration
Open vs Allowlist Mode
Allowlist mode (recommended):Advanced Features
Message Content Intent
SimpleClaw checks the Message Content Intent status:- enabled: Bot can read all messages
- limited: Works for bots under 100 servers (no verification needed)
- disabled: Bot only receives DMs and mentions
simpleclaw channels status discord --probe.
Reply Threading
Media Settings
Message History
Components and Modals
Discord supports interactive components:Message Features
Sending Messages
Target Formats
- Channel:
123456789012345678 - User DM:
user:123456789012345678 - Thread: Thread ID (same as channel ID format)
Polls
Create polls with up to 10 options:Reactions
React to messages:Streaming Responses
Discord supports message streaming with coalescing:Channel Management
Getting Channel IDs
Enable Developer Mode in Discord:- User Settings → Advanced → Developer Mode
- Right-click channel → Copy ID
Resolving Channels
SimpleClaw can resolve channel names to IDs:Channel Audit
Verify bot permissions in configured channels:Troubleshooting
Bot Not Responding in Channels
Bot Not Responding in Channels
Check Message Content Intent:If disabled, enable it in Discord Developer Portal:
- Bot → Privileged Gateway Intents → Message Content Intent
Bot Offline or Not Connected
Bot Offline or Not Connected
Verify token is correct:Check for rate limiting or token issues in logs:
Messages in Specific Channel Ignored
Messages in Specific Channel Ignored
With Or use
groupPolicy: allowlist, the channel must be explicitly allowed:groupPolicy: open with mention requirement.Mention Not Detected
Mention Not Detected
Ensure the bot user is mentioned with
@BotName.SimpleClaw strips Discord mention patterns automatically.CLI Commands
API Reference
Discord channel implementation:extensions/discord/src/channel.ts
Channel ID
discord
Target ID Format
- Channels: Numeric ID (e.g.,
123456789012345678) - User DMs:
user:123456789012345678 - Threads: Thread ID (numeric)
Capabilities
- Chat types:
direct,channel,thread - Features:
polls,reactions,threads,media,nativeCommands - Delivery mode:
direct - Text chunk limit: 2000 characters
- Poll max options: 10
- Streaming: Supported with coalescing (minChars: 1500, idleMs: 1000)
Configuration Schema
SeeDiscordConfigSchema in source for full schema.
Best Practices
Enable Content Intent
Required for reading channel messages without mentions
Use Allowlist Mode
Restrict bot to specific channels:
Require Mentions
Prevent bot from responding to all messages:
Set Media Limits
Prevent large file uploads:
Next Steps
Security Configuration
Configure DM policies and allowlists
Slash Commands
Set up Discord slash commands