From 221cb1f06be3872ea53ed6d8069daaf01989762a Mon Sep 17 00:00:00 2001 From: user Date: Sun, 22 Feb 2026 03:59:24 +0100 Subject: [PATCH] fix: voice trigger not receiving audio from pymumble pymumble passes a User object, not a dict. The isinstance(user, dict) check returned False, setting name to None and silently discarding every voice packet. Use try/except for dict-like access instead. --- plugins/voice.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/voice.py b/plugins/voice.py index 7cb9089..c7f29e5 100644 --- a/plugins/voice.py +++ b/plugins/voice.py @@ -86,7 +86,10 @@ def _on_voice(bot, user, sound_chunk): ps = _ps(bot) if not ps["listen"] and not ps["trigger"]: return - name = user["name"] if isinstance(user, dict) else None + try: + name = user["name"] + except (KeyError, TypeError): + name = None if not name or name == bot.nick: return pcm = sound_chunk.pcm