9b992d6dbe
user_guild_map was only written when a login token was consumed on the webui login page. Users on stale session cookies never re-login, so their jobs carried empty guild_id and TTS was posted to whatever global channel happened to match instead of the server they logged in from. Persist the guild as soon as the bot registers the token so _resolve_guild_id() falls back to the correct login guild.