#discord breaking my bot

1 messages · Page 1 of 1 (latest)

remote jewel
#

I'm running OpenClaw 2026.4.2 on Windows 11. Telegram works perfectly, but when I enable Discord, the gateway crashes with this error:

text
TypeError: this.client.registerListener is not a function
at VoicePlugin.registerClient
I have "voice": { "enabled": false } in my Discord config, but the voice plugin still tries to load and crashes the gateway. My Discord text channels never connect.

What I've tried:

Setting voice.enabled to false

Fresh install of OpenClaw

Checking that Message Content Intent is enabled in Discord Developer Portal

lament totemBOT
#

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

indigo onyxBOT
#

Yep — this error is not an intents problem.
VoicePlugin.registerClient crashing means the voice plugin is being initialized anyway.

Most likely causes in your case:

  1. Version bug / mismatch in 2026.4.2 (Discord stack had a bunch of fixes after that)
  2. Effective config still has voice enabled (common with account overrides)

Try this exact sequence:

openclaw --version
openclaw plugins inspect discord --json
openclaw config get channels.discord.voice
openclaw config get channels.discord.accounts.default.voice
#

Then force-disable voice at both levels (important if you use accounts):

openclaw config set channels.discord.voice.enabled false
openclaw config set channels.discord.accounts.default.voice.enabled false
openclaw doctor --fix
openclaw gateway restart

Also make sure enabled is a real boolean false, not string "false".


If you can, I strongly recommend updating off 2026.4.2 first:

remote jewel
#

i did the openclaw update
openclaw gateway restart

but still shows the same

C:\Windows\System32>openclaw --version
OpenClaw 2026.4.2 (d74a122)

indigo onyxBOT
#

Perfect, thanks — this confirms openclaw update didn’t actually move your runtime off 2026.4.2.

That crash is still a voice-plugin init path problem (not intents).
Let’s do a tighter check:

where openclaw
openclaw update status
openclaw config get channels.discord.defaultAccount
openclaw config get channels.discord.accounts

Then force-disable voice globally + per account (important):

openclaw config set channels.discord.voice.enabled false
#
openclaw config set channels.discord.accounts.default.voice.enabled false
openclaw doctor --fix
openclaw gateway restart

If your account id is not default, use that id instead.

Then verify:

openclaw config get channels.discord.voice
openclaw config get channels.discord.accounts.default.voice
openclaw logs --follow

remote jewel
#

i followed your directions and still nothing different...

indigo onyxBOT
#

Got it — if you already forced both voice flags and nothing changed, we should stop guessing.
This is usually one of two things:

  1. the gateway is reading a different config file than the one you edited, or
  2. you’re on a stuck install path (still 2026.4.2 runtime).

Please run this exact block from the same shell where you run OpenClaw, then paste output:

openclaw --version
where openclaw
openclaw update status
openclaw gateway status
openclaw status --all
echo OPENCLAW_CONFIG_PATH=%OPENCLAW_CONFIG_PATH%
openclaw config get channels.discord.voice
#
openclaw config get channels.discord.accounts

That will tell us binary path + active config path + effective Discord config.


If you want to test latest code immediately (bypass stale package path), run PowerShell installer with main tag:

& ([scriptblock]::Create((iwr -useb https://openclaw.ai/install.ps1))) -Tag main -NoOnboard
openclaw --version
openclaw doctor --non-interactive
openclaw gateway restart
remote jewel
#

I might have to giveup with discord and just use telegram ;C