#Discord setup

1 messages · Page 1 of 1 (latest)

patent bane
#

I'm trying to setup discord integration with openclaw following https://docs.openclaw.ai/channels/discord#cli-%2F-config but I get this error:
startup [default] deploy-rest:put:error 3140ms path=/applications/1467524753215459338/commands requestMs=543 error=Maximum number of application commands reached (100). (status=400, code=30032, body={"message":"Maximum number of application commands reached (100).","code":30032})
03:25:42 [discord] discord: failed to deploy native commands: Maximum number of application commands reached (100). (status=400, code=30032, body={"message":"Maximum number of application commands reached (100).","code":30032})
Web connection closed (status 408). Retry 1/12 in 2.48s… (status=408 Request Time-out Connection was lost)
[tools] sessions_spawn failed: sessions_spawn does not support "channel". Use "message" or "sessions_send" for channel delivery. raw_params={"task":"Connect to the Discord bot and manage it.","runtime":"subagent","channel":"discord","label":"discord-bot-connection"}
03:29:04 [gateway] security audit: device access upgrade requested reason=scope-upgrade device=4765ec4caa38735b0e26815a6c0b940e31b2645f3c4ff58e6842dfedede6803e ip=unknown-ip auth=token roleFrom=operator roleTo=operator scopesFrom=operator.read scopesTo=operator.admin client=cli conn=f2512a54-a539-4b52-ab8c-9d69706ac00f
03:29:04 gateway connect failed: GatewayClientRequestError: pairing required

jade breachBOT
stuck tigerBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

jade breachBOT
neat spruceBOT
#

Let me check the local docs and the actual Discord config behavior so I don’t make up keys.

#

That first error is Discord’s application command cap, not a bad token.

/applications/<appId>/commands is the global slash-command registry for that bot app, and Discord caps it at 100. So OpenClaw is trying to register native commands, but that app already hit the limit.

Most likely causes:

  • stale old commands on that same Discord application
  • too many native skill/plugin commands

Try this first:

{
  channels: {
    discord: {
      commands: {
        nativeSkills: false,
#
      },
    },
  },
}

Then restart the gateway.

If it still fails, clear the old Discord native commands once:

{
  channels: {
    discord: {
      commands: {
#
        native: false,
      },
    },
  },
}

Restart, then switch to:

{
  channels: {
    discord: {
      commands: {
        native: true,
#
  • sessions_spawn does not support "channel": unrelated to Discord bot registration
  • pairing required: your client/device asked for a scope upgrade (operator.read -> operator.admin) and that approval is still pending

For the pairing issue:

openclaw devices list
openclaw devices approve <requestId>

Docs:

One more thing before deeper debugging: what does openclaw --version show?

patent bane
#

the bot says this:The Discord bot session is isolated and can’t be reached directly. Would you like me to open a paired subagent to manage the bot, or should we handle it another way?

neat spruceBOT
#

Yeah, ignore that one. You do not need a paired subagent for initial Discord setup.

That reply is basically the agent taking the wrong path before Discord is fully working. The real fixes are still the same:

  1. Fix the Discord command-cap issue

    • Set channels.discord.commands.nativeSkills: false
    • Restart gateway
    • If it still errors, set channels.discord.commands.native: false for one restart to clear old registered commands, then turn native: true back on with nativeSkills: false
  2. Approve the local device scope upgrade

    openclaw devices list
    openclaw devices approve <requestId>
    
  3. Then do normal Discord pairing

    • DM your bot
#
  • your channels.discord block

(redact the token), and I’ll sanity-check the exact config.

patent bane
#

the DM and whatsapp arent responding but the openclaw tui is.

neat spruceBOT
#

I’m going to check the channel troubleshooting docs so I can give you the shortest real debug path, not guesses.

#

That actually helps a lot.

If the TUI responds, the core agent/gateway/model path is alive. This is now very likely a channel auth/pairing/config problem, not a general OpenClaw failure.

A couple important nuances:

  • The Discord 30032 error only means slash command registration hit Discord’s 100-command cap.
    • annoying, yes
    • but it should not by itself stop normal DM replies
  • The pairing required line you pasted is specifically for client=cli, so that one is about your CLI/device auth upgrade, not necessarily the Discord DM sender

Shortest debug path

Please run these and paste the output:

#
openclaw --version
openclaw channels status --probe
openclaw pairing list discord
openclaw pairing list whatsapp

If you see pending pairing entries

Approve them:

openclaw pairing approve discord <CODE>
openclaw pairing approve whatsapp <CODE>

If CLI still says pairing required

#

That is the separate device-auth issue:

openclaw devices list
openclaw devices approve <requestId>

For the Discord slash-command cap

Keep or add this:

{
  channels: {
    discord: {
      commands: {
#
        nativeSkills: false,
      },
    },
  },
}

If needed, do one cleanup restart with native: false, then re-enable native: true + nativeSkills: false.

One extra WhatsApp gotcha

If you’re using personal-number/self-chat WhatsApp, and pairing list whatsapp is empty, paste your redacted channels.whatsapp block too. Self-chat usually needs your own number in allowFrom.

Docs: