Fix Discord Bot Not Replying
Silent Failure — No Error Shown
The bot appears to be running normally (gateway healthy, channel connected) but never sends replies. The most common cause is a missing Discord intent or a channel binding that failed at startup.
OpenClaw processes your message internally (you may see lane task done in the logs) but the reply delivery fails silently. This page covers the three most common causes.
Jump to Fix
What You Might See in Logs
The gateway processes the task (lane task done) but the delivery step fails because Discord rejected the message or the channel reference is invalid.
Fix A: Enable Message Content Intent (Most Common)
Enable in Discord Developer Portal
- 1. Go to discord.com/developers/applications
- 2. Select your OpenClaw bot application
- 3. Click Bot in the left sidebar
- 4. Scroll to Privileged Gateway Intents
- 5. Enable Message Content Intent
- 6. Click Save Changes
Without the Message Content Intent, Discord does not send message content to your bot. OpenClaw receives the event but cannot read the message text, so it processes an empty message and sends a confusing or empty reply — or no reply at all.
After enabling the intent:
openclaw gateway restart
Fix B: Resolve Channel Binding Failure
At startup, OpenClaw resolves Discord channel IDs. If the bot doesn't have access to a channel listed in the config, you'll see discord channels unresolved in the logs and that channel silently fails.
Check Your Channel Config
Your openclaw.json Discord channel section should look like:
{
"channels": {
"discord": {
"guilds": {
"YOUR_SERVER_ID": {
"channels": {
"YOUR_CHANNEL_ID": {
"allow": true
}
}
}
}
}
}
}Guild ID is correct
Right-click your server name → Copy Server ID (requires Developer Mode in Discord settings)
Channel ID is correct
Right-click the channel → Copy Channel ID
Bot has access to the channel
The bot must be in the server and have Read Messages + Send Messages permissions for that channel
Fix C: Check requireMention Setting
By default, OpenClaw may only respond when the bot is mentioned (@BotName). If you want the bot to respond to all messages in a channel:
{
"channels": {
"discord": {
"requireMention": false
}
}
}Setting requireMention: false makes the bot respond to every message in the allowed channels. Use with caution in busy servers.
Required Discord Bot Permissions
Still Not Working?
Follow the gateway logs in real-time while sending a test message:
openclaw logs --follow | grep -i discord
Run the Doctor
Checks channel configuration, bot token validity, and gateway connectivity.
Related Channel Issues
Similar delivery problems on other platforms:
Fix It Faster With Our Tools
Did this guide solve your problem?