Summary for External Help: OpenClaw Discord Bots Showing Offline
Setup Overview:
OpenClaw version: 2026.3.2 (85377a2) on macOS (Darwin 25.3.0 arm64).
Channel config in openclaw.json (redacted):
"channels": {
"discord": {
"enabled": true,
"accounts": {
"larry": { "clientId": "1478501525943881898", "token": "[redacted]" },
"eugene": { "clientId": "1478934147144744980", "token": "[redacted]" },
"sandy": { "clientId": "1478939405052940349", "token": "[redacted]" },
"plankton": { "clientId": "1478936119596024022", "token": "[redacted]" },
"sebastian": { "clientId": "1478938083519889419", "token": "[redacted]" },
"tom": { "clientId": "1478939975406850118", "token": "[redacted]" }
}
}
}
Guild ID (server): 1478501176826662946.
Agents: main (Larry), sandy, plankton, sebastian, tom, jarvis, index, eugene—all configured with workspaces/templates.
Session bound to Telegram (channel=telegram), attempting cross-context to Discord.
Problem:
All agent bots show as "offline" in the Discord server (top-right member list, no green dots).
Initial openclaw doctor showed "Discord: not configured"; after updates, it shows "ok" but bots remain offline.
Attempts to set presence (action=set-presence via message tool) fail with "action not available" or cross-context denial.
Steps Taken (Chronological):
Added bot tokens/client IDs to config under channels.discord.accounts (backed up each time).
Enabled cross-context (agents.defaults.tools.message.crossContext: true).
Added bots to guild via generated OAuth2 invites (permissions: View Channels, Send Messages, Manage Channels).
Multiple gateway restarts (openclaw gateway restart).
Tested presence updates via subagent (Sandy) using message tool—reported success, but Discord still shows offline.
Tried channel creation (e.g., "council")—failed with 403 or "not a forum" errors initially, then cross-context issues.
openclaw doctor now passes without Discord errors, but presence doesn't update.