ClawKit Logo
ClawKitReliability Toolkit

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.

What You Might See in Logs

discord channels unresolved: guildId/channelId
lane task done (but no Discord message appears)
[discord] channel binding failed — channel not found

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. 1. Go to discord.com/developers/applications
  2. 2. Select your OpenClaw bot application
  3. 3. Click Bot in the left sidebar
  4. 4. Scroll to Privileged Gateway Intents
  5. 5. Enable Message Content Intent
  6. 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:

Restart Gateway
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:

openclaw.json — Discord Channel Config
{
  "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:

openclaw.json — Disable Require Mention
{
  "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

Read Messages / View ChannelsRequired
Send MessagesRequired
Read Message HistoryRequired
Message Content Intent (Privileged)Required
Add Reactions
Embed Links

Still Not Working?

Follow the gateway logs in real-time while sending a test message:

Follow Logs
openclaw logs --follow | grep -i discord

Run the Doctor

npx clawkit-doctor@latest

Checks channel configuration, bot token validity, and gateway connectivity.

Did this guide solve your problem?

Need Help?

Try our automated tools to solve common issues instantly.