OpenClaw supports multiple messaging channels out of the box. While Telegram is the most popular choice, Discord offers something compelling for teams, communities, and power users who already live in Discord: a shared AI assistant that participates in your server, responds in channels, and maintains context across conversations.
This guide covers everything from creating a Discord bot to configuring OpenClaw's channel permissions, with practical tips for keeping your assistant useful without it dominating every conversation.
Why Discord?
If you use Discord for work, gaming, or community management, having your AI assistant there means zero context-switching. Instead of tabbing to a separate app, you ask your question in the channel where the work is already happening.
Discord's channel structure also maps well to OpenClaw's multi-context capabilities — you can configure different behaviour per channel, limiting the assistant to specific servers or categories. Compare this to WhatsApp or Telegram setups, where the assistant is more personal and single-user by default.
Prerequisites
- A running OpenClaw instance (see: Install OpenClaw on a VPS)
- A Discord account with a server where you have admin permissions
- Node.js 18+ on your server (already present if OpenClaw is running)
- About 15 minutes
Step 1: Create a Discord Application
Go to the Discord Developer Portal (discord.com/developers/applications) and click New Application. Give it a name — something like "OpenClaw" or whatever you want your bot to be called in your server.
Inside the application, navigate to the Bot section and click Add Bot. You'll see a token appear — copy it and keep it safe. This is your bot's password; treat it like one.
Step 2: Set Bot Permissions
In the Bot settings, enable these Privileged Gateway Intents:
- Message Content Intent — lets the bot read message content (required for OpenClaw to see what you send)
- Server Members Intent — optional, useful if you want the bot to know who's in the server
Under the OAuth2 → URL Generator, select the bot scope and grant these permissions:
- Read Messages / View Channels
- Send Messages
- Read Message History
- Add Reactions (optional — OpenClaw can react to messages)
Copy the generated URL, paste it in your browser, and invite the bot to your server.
Step 3: Configure OpenClaw
Open your OpenClaw config file and add the Discord channel configuration:
{
"channels": {
"discord": {
"enabled": true,
"token": "YOUR_BOT_TOKEN_HERE",
"guildId": "YOUR_SERVER_ID",
"allowedChannelIds": ["CHANNEL_ID_1", "CHANNEL_ID_2"],
"respondToMentions": true,
"respondToDirectMessages": true,
"reactionMode": "minimal"
}
}
}
A few notes on these settings:
- allowedChannelIds: Restrict OpenClaw to specific channels. Leave empty to allow all channels — but this gets noisy fast in active servers.
- respondToMentions: When
true, OpenClaw only responds when @mentioned. Recommended for shared servers. - reactionMode: Set to
minimalto have OpenClaw use emoji reactions sparingly, oroffto disable them entirely.
Step 4: Get Your Server and Channel IDs
To find IDs in Discord, enable Developer Mode: go to User Settings → Advanced → Developer Mode. Then right-click any server name to copy the Server ID, or right-click a channel to copy the Channel ID.
Step 5: Restart OpenClaw
With the config saved, restart your OpenClaw instance:
openclaw gateway restart
OpenClaw will connect to Discord and log in. You should see the bot appear online in your server within a few seconds. Test it by sending a message in an allowed channel — either @mention the bot or send a direct message to it.
Behaviour in Shared Servers
OpenClaw's AGENTS.md guidelines include specific rules for group chat behaviour — the assistant won't respond to every message, only when it can genuinely add value. This is especially important in Discord servers where conversations flow fast.
By default, the assistant:
- Responds when directly @mentioned
- Stays quiet during casual banter between humans
- Uses reactions to acknowledge messages without cluttering the chat
- Avoids triple-posting or fragmenting responses
You can tune this behaviour in your OpenClaw workspace's SOUL.md file — adjusting how assertive or reserved the assistant is depending on your community's vibe.
Privacy Considerations
One important note: OpenClaw's memory system stores context from conversations. In shared Discord servers, be thoughtful about what memory is loaded. The MEMORY.md file (which contains personal context) should only be loaded in private/direct message contexts, not in public channels.
OpenClaw's default AGENTS.md already includes this separation — main session vs shared context — but confirm your configuration matches your privacy expectations before deploying in a community server.
- Discord app created in Developer Portal
- Message Content Intent enabled
- Bot invited to your server with correct permissions
- Token added to OpenClaw config
- allowedChannelIds set (restrict to avoid noise)
- respondToMentions: true for shared servers
- OpenClaw restarted and bot showing as online
Troubleshooting
Bot appears offline: Check that the token is correct and Message Content Intent is enabled in the Developer Portal.
Bot doesn't respond to messages: Confirm the channel ID is in your allowedChannelIds list, and that respondToMentions is configured correctly.
Bot responds to everything: Set respondToMentions: true and add specific channel IDs to limit scope.
Permission errors: Re-invite the bot using a fresh OAuth URL with the correct permissions selected.
Once connected, your OpenClaw assistant brings the same automation capabilities — scheduled tasks, file operations, web searches, memory — directly into your Discord workflow. Ask it to summarise a discussion, look something up, or run a background task, all without leaving your server.
Ready to get started? → Install OpenClaw on your server