From b3006b02e2d9460ae1986c5a31912364a2c6075c Mon Sep 17 00:00:00 2001 From: user Date: Sun, 22 Feb 2026 22:32:36 +0100 Subject: [PATCH] feat: auto-register mumble bots on first connect Self-register with the Mumble server on initial connection so both derp and merlin get persistent identities (cert-bound user_id). Skips registration on reconnect or if already registered. Co-Authored-By: Claude Opus 4.6 --- src/derp/mumble.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/derp/mumble.py b/src/derp/mumble.py index f5d5a3b..9c2addc 100644 --- a/src/derp/mumble.py +++ b/src/derp/mumble.py @@ -254,6 +254,16 @@ class MumbleBot: self._mumble.users.myself.deafen() except Exception: log.exception("mumble: failed to self-deafen on connect") + # Self-register on first connect so the server stores the cert + # and treats this bot as a known user (persistent identity). + if self._connect_count == 1: + try: + myself = self._mumble.users.myself + if not myself.get("user_id"): + myself.register() + log.info("mumble: self-registered %s", self._username) + except Exception: + log.debug("mumble: self-register skipped (already registered?)") if self._loop: asyncio.run_coroutine_threadsafe( self._notify_plugins_connected(), self._loop,