#Bot not responding in Discord

1 messages · Page 1 of 1 (latest)

cinder iron
#

I was able to successfully get Discord configured so that my bot was able to join my server. However, the bot will not respond to anything. I have reviewed discord bot settings, all looks ok I believe. openclaw.json contains the channel config for discord. I have absolutely no idea what's wrong. Please help Krill!

coarse patioBOT
#

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

silver pebbleBOT
#

Happy to help — Discord “bot joined but won’t answer” is usually one of four things: version/config mismatch, missing Message Content Intent, guild allowlist/mention gating, or pairing/DM policy.

First: what does this show?

openclaw --version
openclaw channels status --probe
openclaw pairing list discord
openclaw logs --tail 200

A couple quick checks while you grab that:

  1. In Discord Developer Portal → Bot → Privileged Gateway Intents, Message Content Intent must be enabled. If you changed it, restart the gateway.
  2. In guild channels, OpenClaw is mention-gated by default. Try explicitly mentioning the bot in the server. If that works, set this for your server if you want no-mention replies:
#
{
  channels: {
    discord: {
      groupPolicy: "allowlist",
      guilds: {
        "YOUR_SERVER_ID": {
          requireMention: false,
          users: ["YOUR_USER_ID"]
        }
      }
    }
  }
}
  1. If you configured a channels.discord.guilds.<server>.channels map, only listed channels are allowed — so make sure the exact channel/thread is included.
cinder iron
#

owner@owner-Macmini:~$ openclaw --version
openclaw channels status --probe
openclaw pairing list discord
openclaw logs --tail 200
OpenClaw 2026.5.7 (eeef486)

🦞 OpenClaw 2026.5.7 (eeef486)
If you're lost, run doctor; if you're brave, run prod; if you're wise, run tests.

│
â—‡
Gateway reachable.
Gateway event loop degraded: reasons=event_loop_utilization,cpu eventLoopDelayMaxMs=0 eventLoopUtilization=1 cpuCoreRatio=0.988

  • Slack default: enabled, not configured, stopped, bot:config, error:not configured
  • Telegram default: enabled, configured, running, connected, mode:polling, bot:@Tremdog_bot, token:config, works

Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).

🦞 OpenClaw 2026.5.7 (eeef486) — Greetings, Professor Falken

No pending discord pairing requests.
error: unknown option '--tail'

message content intent is enabled

i have repeatedly tried mentioning the bot

i don't want to limit to a single channel. i don't think i configured that.

silver pebbleBOT
#

Good clues. The big red flag is: channels status --probe did not list Discord at all. If Discord were loaded but misconfigured, I’d expect to see a Discord row with configured/running/error state. So I’d focus on “is the gateway actually reading the Discord config/token?” before worrying about mentions.

Also: yep, openclaw logs --tail 200 was my bad — that option doesn’t exist on your version. Use openclaw logs --follow or openclaw status --all instead.

Please run:

openclaw config file
openclaw config get channels.discord --json
openclaw config validate
openclaw status --all

Don’t paste your bot token if it appears — redact it.

What I’m looking for:

#
  • If channels.discord is null / missing → you edited the wrong config file, or the active config is elsewhere. openclaw config file tells us the one OpenClaw is actually using.
  • If enabled is missing/false → set it:
openclaw config set channels.discord.enabled true --strict-json
  • If token is an env SecretRef like DISCORD_BOT_TOKEN, make sure the gateway service can see that env var. An exported shell var often does not reach a daemon/service. This is a super common “looks configured but channel never starts” trap.

After any config change, restart the gateway, then re-run:

openclaw channels status --probe

Discord should show up there. Once it appears, then we can debug guild allowlist / requireMention if needed. 🦞

cinder iron
#

owner@owner-Macmini:~$ openclaw config file
openclaw config get channels.discord --json
openclaw config validate
openclaw status --all

🦞 OpenClaw 2026.5.7 (eeef486)
I'll do the boring stuff while you dramatically stare at the logs like it's cinema.

~/.openclaw/openclaw.json
{
"enabled": true,
"token": {
"source": "env",
"provider": "default",
"id": "DISCORD_BOT_TOKEN"
},
"groupPolicy": "open"
}

🦞 OpenClaw 2026.5.7 (eeef486)
I'm not AI-powered, I'm AI-possessed. Big difference.

Config valid: ~/.openclaw/openclaw.json

🦞 OpenClaw 2026.5.7 (eeef486)
I read logs so you can keep pretending you don't have to.

│
gateway connect failed: GatewayClientRequestError: scope upgrade pending approval (requestId: 1895c9fa-049a-4c04-ab36-16a34f8edded)
[secrets] status --all: gateway secrets.resolve unavailable (gateway closed (1008): pairing required: device is asking for more scopes than currently approved (requestId: 1895c9fa-049a-4c04-ab36-16a34f8ed
Gateway target: ws://127.0.0.1:18789
Source: local loopback
Config: /home/owner/.openclaw/openclaw.json
Bind: loopback); resolved command secrets locally.
OpenClaw status --all

standby rest coming

silver pebbleBOT
#

Aha, we found one real blocker: your CLI/device is asking for a scope upgrade:

pairing required: device is asking for more scopes than currently approved

Fix that first so status --all can actually inspect the running gateway:

openclaw devices list
openclaw devices approve 1895c9fa-049a-4c04-ab36-16a34f8edded

Review the requested scopes in devices list before approving. Docs: https://docs.openclaw.ai/cli/devices

But for the Discord issue itself, your config shape looks valid. The remaining likely culprit is the env token: your config says Discord token comes from DISCORD_BOT_TOKEN. If OpenClaw is running as a daemon/service, it probably does not inherit the env var from your terminal, so the CLI can show valid config while the gateway has no Discord token loaded. That also matches Discord not appearing in channels status --probe.

Quick test:

#
openclaw config set channels.discord.token "PASTE_BOT_TOKEN_HERE"
openclaw gateway restart
openclaw channels status --probe

Don’t paste that token here. If Discord appears after that, the problem was service env propagation. You can keep plaintext temporarily to confirm, then move it into a proper env/service secret later.

If you don’t want plaintext even briefly, paste the relevant openclaw status --all output after approving the scope upgrade and we’ll confirm from there.

cinder iron
#

openclaw gateway restart
openclaw channels status --probe

🦞 OpenClaw 2026.5.7 (eeef486) — Greetings, Professor Falken

Config overwrite: /home/owner/.openclaw/openclaw.json (sha256 6d4e83d6663507197f2468392a6eb5f19f2bb6ffb4d0f34bfd2f603dca85c956 -> b0a5ac2c6e8a44838601f8f4fc2803164f59f3632ca83479e3d853ff68dee420, backup=/home/owner/.openclaw/openclaw.json.bak)
Updated channels.discord.token. Restart the gateway to apply.

🦞 OpenClaw 2026.5.7 (eeef486)
If it works, it's automation; if it breaks, it's a "learning opportunity."

Restarted systemd service: openclaw-gateway.service

🦞 OpenClaw 2026.5.7 (eeef486)
Claws out, commit in—let's ship something mildly responsible.

│
â—‡
Gateway reachable.
Gateway event loop degraded: reasons=event_loop_utilization,cpu eventLoopDelayMaxMs=0 eventLoopUtilization=1 cpuCoreRatio=1.184

  • Slack default: enabled, not configured, stopped, bot:config, error:not configured
  • Telegram default: enabled, configured, running, disconnected, mode:polling, bot:@Tremdog_bot, token:config, works

Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).

silver pebbleBOT
#

Okay — since you switched the token to config/plaintext and restarted, Discord still not appearing means this is probably not just env propagation anymore.

Next thing I’d check: whether the Discord channel/plugin is actually present/enabled in this install, and whether the gateway logs say it skipped startup.

Please run these:

openclaw config get channels.discord --json
openclaw plugins list --verbose
openclaw status --all
openclaw logs --follow

For logs --follow, let it run while you send one Discord message mentioning the bot, then copy the Discord-related lines / errors and Ctrl+C.

Also approve that pending scope upgrade if you haven’t yet, because it’s blocking some diagnostics:

#
openclaw devices list
openclaw devices approve 1895c9fa-049a-4c04-ab36-16a34f8edded

What I’m expecting now: either plugins list --verbose shows Discord missing/disabled/blocked, or the logs show why Discord startup is being skipped. The fact that Slack/Telegram show in channels status --probe but Discord doesn’t is the important weird bit.

cinder iron
#

source: ~/.npm-global/lib/node_modules/openclaw/dist/extensions/xiaomi/index.js
origin: bundled
version: 2026.5.7
providers: xiaomi

@openclaw/zai-provider (zai) enabled
format: openclaw
source: ~/.npm-global/lib/node_modules/openclaw/dist/extensions/zai/index.js
origin: bundled
version: 2026.5.7
providers: zai

@openclaw/discord (discord) enabled
format: openclaw
source: ~/.openclaw/npm/node_modules/@openclaw/discord/dist/index.js
origin: global
version: 2026.5.7
04:39:48+00:00 info gateway/ws {"subsystem":"gateway/ws"} ⇄ res ✓ channels.status 334ms conn=00b8eba1…69ec id=824874fb…c784
04:39:50+00:00 info gateway/ws {"subsystem":"gateway/ws"} ⇄ res ✓ health 90ms conn=e0ed200c…b70a id=bf15e9c3…3c0e
Log tail truncated (increase --max-bytes).

silver pebbleBOT
#

Good, Discord plugin is installed/enabled. The bad/weird part remains: the running gateway still doesn’t report a Discord channel at all.

Let’s get the non-truncated Discord logs and one plugin health pass:

openclaw plugins doctor
openclaw logs --limit 800 --max-bytes 1000000 --plain | grep -iE 'discord|plugin|channel|gateway closed|4014|intent|token|failed|error'
openclaw channels capabilities --channel discord --timeout 30000

If your shell complains about grep -iE, just run the logs command without the pipe:

openclaw logs --limit 800 --max-bytes 1000000 --plain

One more thing I’m side-eyeing: your Discord plugin is loading from:

#

~/.openclaw/npm/node_modules/@openclaw/discord/...

That’s a managed/global plugin, not the bundled extension path. It can be fine, but if plugins doctor shows anything odd, I’d remove/reinstall/refresh that plugin before chasing Discord settings. For now don’t uninstall yet — logs should tell us whether startup is skipped, failing auth, or never being activated.

cinder iron
#

wner@owner-Macmini:~$ openclaw plugins doctor
openclaw logs --limit 800 --max-bytes 1000000 --plain | grep -iE 'discord|plugin|channel|gateway closed|4014|intent|token|failed|error'
openclaw channels capabilities --channel discord --timeout 30000

🦞 OpenClaw 2026.5.7 (eeef486)
Self-hosted, self-updating, self-aware (just kidding... unless?).

No plugin issues detected.
2026-05-13T04:09:43.792Z info gateway/reload {"subsystem":"gateway/reload"} config change detected; evaluating reload (channels.discord.groupPolicy, plugins.installs.discord)
2026-05-13T04:09:44.076Z warn gateway/reload {"subsystem":"gateway/reload"} config change requires gateway restart (channels.discord.groupPolicy, plugins.installs.discord)
2026-05-13T04:09:57.784Z info gateway/health-monitor {"subsystem":"gateway/health-monitor"} started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-13T04:10:02.140Z info gateway {"subsystem":"gateway"} http server listening (8 plugins: browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram; 9.1s)
2026-05-13T04:10:02.235Z info gateway {"subsystem":"gateway"} starting channels and sidecars...
2026-05-13T04:10:03.126Z info browser/server {"subsystem":"browser/server"} Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-13T04:10:06.992Z info gateway/health-monitor {"subsystem":"gateway/health-monitor"} started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-13T04:10:10.007Z info gateway {"subsystem":"gateway"} http server listening (8 plugins: browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram; 8.2s)
2026-05-13T04:10:10.087Z info gateway {"subsystem":"gateway"} starting channels and sidecars...
2026-05-13T04:10:10.924Z info browser/server {"subsystem":"browser/server"} Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-13T04:10:12.021Z info channels/telegram {"subsystem":"channels/telegram"} [default] starting provider (@Tremdog_bot)
2026-05-13T04:10:19.282Z info gateway/health-monitor {"subsystem":"gateway/health-monitor"} started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-13T04:10:22.055Z info gateway {"subsystem":"gateway"} http server listening (8 plugins: browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram; 6.8s)
2026-05-13T04:10:22.117Z info gateway {"subsystem":"gateway"} starting channels and sidecars...
2026-05-13T04:10:22.830Z info browser/server {"subsystem":"browser/server"} Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-13T04:10:23.831Z info channels/telegram {"subsystem":"channels/telegram"} [default] starting provider (@Tremdog_bot)
2026-05-13T04:10:24.432Z info channels/telegram {"subsystem":"channels/telegram"} Telegram menu text exceeded the conservative 5700-character payload budget; shortening descriptions to keep 68 commands visible.
2026-05-13T04:10:42.255Z info gateway/health-monitor {"subsystem":"gateway/health-monitor"} started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)

standby for more

#

026-05-13T04:10:44.976Z info gateway {"subsystem":"gateway"} http server listening (8 plugins: browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram; 7.4s)
2026-05-13T04:10:45.032Z info gateway {"subsystem":"gateway"} starting channels and sidecars...
2026-05-13T04:10:45.701Z info browser/server {"subsystem":"browser/server"} Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-13T04:10:46.590Z info channels/telegram {"subsystem":"channels/telegram"} [default] starting provider (@Tremdog_bot)
2026-05-13T04:10:47.119Z info channels/telegram {"subsystem":"channels/telegram"} Telegram menu text exceeded the conservative 5700-character payload budget; shortening descriptions to keep 68 commands visible.
2026-05-13T04:18:01.939Z info gateway/health-monitor {"subsystem":"gateway/health-monitor"} started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-13T04:18:10.443Z info gateway {"subsystem":"gateway"} http server listening (8 plugins: browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram; 17.8s)
2026-05-13T04:18:10.611Z info gateway {"subsystem":"gateway"} starting channels and sidecars...
2026-05-13T04:18:11.181Z info gateway/health-monitor {"subsystem":"gateway/health-monitor"} started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-13T04:18:12.519Z info browser/server {"subsystem":"browser/server"} Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-13T04:18:13.649Z info channels/telegram {"subsystem":"channels/telegram"} [default] starting provider (@Tremdog_bot)
2026-05-13T04:18:16.533Z info gateway/shutdown {"subsystem":"gateway/shutdown"} shutdown started: gateway startup failed
2026-05-13T04:18:16.589Z info channels/telegram {"subsystem":"channels/telegram"} Telegram menu text exceeded the conservative 5700-character payload budget; shortening descriptions to keep 68 commands visible.
2026-05-13T04:20:01.803Z info gateway/reload {"subsystem":"gateway/reload"} config change detected; evaluating reload (channels.discord.token)
2026-05-13T04:20:02.138Z warn gateway/reload {"subsystem":"gateway/reload"} config change requires gateway restart (channels.discord.token)
2026-05-13T04:20:12.417Z info gateway/health-monitor {"subsystem":"gateway/health-monitor"} started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)

standby for more

#

2026-05-13T04:20:16.500Z info gateway {"subsystem":"gateway"} http server listening (8 plugins: browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram; 9.7s)
2026-05-13T04:20:16.564Z info gateway {"subsystem":"gateway"} starting channels and sidecars...
2026-05-13T04:20:17.425Z info browser/server {"subsystem":"browser/server"} Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-13T04:20:18.610Z info channels/telegram {"subsystem":"channels/telegram"} [default] starting provider (@Tremdog_bot)
2026-05-13T04:20:19.331Z info channels/telegram {"subsystem":"channels/telegram"} Telegram menu text exceeded the conservative 5700-character payload budget; shortening descriptions to keep 68 commands visible.
2026-05-13T04:24:08.741Z info gateway/health-monitor {"subsystem":"gateway/health-monitor"} started (interval: 300s, startup-grace: 60s, channel-connect-grace: 120s)
2026-05-13T04:24:16.666Z info gateway {"subsystem":"gateway"} http server listening (8 plugins: browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram; 15.9s)
2026-05-13T04:24:16.801Z info gateway {"subsystem":"gateway"} starting channels and sidecars...
2026-05-13T04:24:18.446Z info browser/server {"subsystem":"browser/server"} Browser control listening on http://127.0.0.1:18791/ (auth=token)
2026-05-13T04:24:19.603Z info channels/telegram {"subsystem":"channels/telegram"} [default] starting provider (@Tremdog_bot)
2026-05-13T04:24:20.109Z warn gateway {"subsystem":"gateway"} security audit: device access upgrade requested reason=scope-upgrade device=897a3ca9ee792c031ae535fe57f74bb0c313cb3ef5906a3369698819b62f1b61 ip=unknown-ip auth=token roleFrom=operator roleTo=operator scopesFrom=operator.write scopesTo=operator.admin client=cli conn=f04d9d73-ccb4-4a25-ae70-acc3ef72fbec
2026-05-13T04:24:20.594Z info channels/telegram {"subsystem":"channels/telegram"} Telegram menu text exceeded the conservative 5700-character payload budget; shortening descriptions to keep 68 commands visible.
2026-05-13T04:24:22.362Z error gateway connect failed: GatewayClientRequestError: scope upgrade pending approval (requestId: 781cd0e0-a14b-4468-8e49-6041fc9cb082)
2026-05-13T04:24:23.414Z warn gateway/ws {"subsystem":"gateway/ws"} {"cause":"pairing-required","handshake":"failed","durationMs":3961,"lastFrameType":"req","lastFrameMethod":"connect","lastFrameId":"eacffcde-ce31-4563-ad0c-ee7f343ca17d","host":"127.0.0.1:18789","remoteAddr":"127.0.0.1","remotePort":59576,"localAddr":"127.0.0.1","localPort":18789,"endpoint":"127.0.0.1:59576->127.0.0.1:18789","deviceId":"897a3ca9ee792c031ae535fe57f74bb0c313cb3ef5906a3369698819b62f1b61","requestId":"781cd0e0-a14b-4468-8e49-6041fc9cb082","reason":"scope-upgrade"} closed before connect conn=f04d9d73-ccb4-4a25-ae70-acc3ef72fbec peer=127.0.0.1:59576->127.0.0.1:18789 remote=127.0.0.1 fwd=n/a origin=n/a host=127.0.0.1:18789 ua=n/a code=1008 reason=connect failed

Stamdby for more

silver pebbleBOT
#

Yep — this log nails it:

http server listening (8 plugins: browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram)

Discord is installed, but the gateway startup plugin list does not include discord, so the Discord provider never starts. That’s why there are no Discord channel logs and no replies.

Because your Discord plugin origin is global, it may need explicit trust/activation. Try this:

openclaw config set plugins.entries.discord.enabled true --strict-json
openclaw gateway restart
openclaw channels status --probe

If that still doesn’t include Discord, add it to the plugin allowlist explicitly:

#
openclaw config set plugins.allow '["discord"]' --strict-json --merge
openclaw gateway restart
openclaw channels status --probe

Small warning: if you already have a plugins.allow list, don’t replace it with only discord — use --merge as above or paste the existing list first.

After restart, the startup line should include discord, and channels status --probe should show a Discord row. Then if it still doesn’t answer, we’ll be back in normal Discord territory: intents / guild policy / mention gating. But right now the provider simply isn’t being loaded.

#

Standing by. Those logs are still from before Discord was activated — they confirm the same thing: startup list has no discord.

The next useful output is after running:

openclaw config set plugins.entries.discord.enabled true --strict-json
openclaw gateway restart
openclaw channels status --probe
openclaw logs --limit 200 --max-bytes 1000000 --plain | grep -iE 'discord|startup failed|plugin|error'

If the startup line changes from 8 plugins to include discord, we’re moving. If it still doesn’t, paste openclaw config get plugins --json next.

#

Still same core signal: the gateway is starting with 8 plugins and no discord. So the Discord bot can join the server, but OpenClaw never starts the Discord channel provider.

Two blockers to clear:

  1. Approve the pending CLI scope upgrade so diagnostics work:
openclaw devices list
openclaw devices approve 781cd0e0-a14b-4468-8e49-6041fc9cb082
  1. Explicitly activate/trust the Discord plugin, then restart:
openclaw config set plugins.entries.discord.enabled true --strict-json
openclaw gateway restart
#
openclaw channels status --probe

After restart, check the startup log. We want to see discord included in the plugin list. If it still says only:

browser, device-pair, file-transfer, memory-core, phone-control, slack, talk-voice, telegram

then paste:

openclaw config get plugins --json
openclaw plugins inspect discord --json
cinder iron
#

owner@owner-Macmini:~$ openclaw config set plugins.entries.discord.enabled true --strict-json
openclaw gateway restart
openclaw channels status --probe

🦞 OpenClaw 2026.5.7 (eeef486)
I've survived more breaking changes than your last three relationships.

Config overwrite: /home/owner/.openclaw/openclaw.json (sha256 b0a5ac2c6e8a44838601f8f4fc2803164f59f3632ca83479e3d853ff68dee420 -> b3dfd8e49b4f2f995b72592ce9e87faf18b9738b8de709f83d7fcb3b17559aa6, backup=/home/owner/.openclaw/openclaw.json.bak)
Updated plugins.entries.discord.enabled. Restart the gateway to apply.

🦞 OpenClaw 2026.5.7 (eeef486)
Pairing codes exist because even bots believe in consent—and good security hygiene.

Restarted systemd service: openclaw-gateway.service

🦞 OpenClaw 2026.5.7 (eeef486)
Your AI assistant, now without the $3,499 headset.

│
â—‡
Gateway reachable.
Gateway event loop degraded: reasons=event_loop_utilization,cpu eventLoopDelayMaxMs=576 eventLoopUtilization=1 cpuCoreRatio=1.222

  • Discord default: enabled, configured, running, disconnected, bot:@Pickles the Bot, token:config, intents:content=limited, works
  • Slack default: enabled, not configured, stopped, bot:config, error:not configured
  • Telegram default: enabled, configured, running, disconnected, mode:polling, bot:@Tremdog_bot, token:config, works

Tip: status --deep adds gateway health probes to status output (requires a reachable gateway).

silver pebbleBOT
#

Nice — that fixed the main problem. 🎉 Discord is now loaded and the token probes successfully:

Discord default: enabled, configured, running ... bot:@Pickles the Bot ... works

Two notes:

  • intents:content=limited is okay for most bots under 100 servers; it means Discord reports the privileged intent as limited/unverified, not necessarily off. If Message Content Intent were truly off, it would say disabled and normal messages wouldn’t work.
  • The remaining concern is running, disconnected. That means the REST token check works, but the Discord Gateway websocket may not be READY yet / may be reconnecting.

Give it ~30 seconds, then run:

openclaw channels status --probe
openclaw logs --limit 300 --max-bytes 1000000 --plain | grep -iE 'discord|READY|websocket|reconnect|closed|4014|intent|error'

Also try one message in your server that explicitly mentions Pickles. With groupPolicy: "open", it should be allowed, and mention should satisfy any mention gating.

#

If it still says disconnected, paste those Discord log lines — now we’re past config activation and into gateway connection/runtime details.

cinder iron
#

we did it!!!! thank you krill!!!!!!!!

silver pebbleBOT
#

Yessss!! 🦞🎉 Glad we caught it — the key was that Discord was installed but not actually activated/trusted, so the gateway never started the Discord provider.

For future searchers: fix was:

openclaw config set plugins.entries.discord.enabled true --strict-json
openclaw gateway restart
openclaw channels status --probe

If this solved it, please right-click the solution message → Apps → ✅ Mark Solution so Answer Overflow indexes it for the next person with a silent Discord bot.