Add 'Post to Discord' checkbox for Generate Only mode

This commit is contained in:
2026-06-05 16:58:53 -05:00
parent d262115dab
commit 97475d9a5d
3 changed files with 17 additions and 9 deletions
+9 -7
View File
@@ -2972,8 +2972,9 @@ class TtsToy(Cog):
mode_override = payload.get("mode_override") # per-request mode from web UI
voice_override = payload.get("voice_override") # per-request voice from web UI
skip_vc = payload.get("skip_vc", False)
skip_post = payload.get("skip_post", False)
guild_id_str = payload.get("guild_id", "")
log.info(f"[WebUI] speak_in_vc: user={user} job={job_id} guild={guild_id_str} mode_override={mode_override} voice_override={voice_override} skip_vc={skip_vc} text={text[:60]!r}")
log.info(f"[WebUI] speak_in_vc: user={user} job={job_id} guild={guild_id_str} mode_override={mode_override} voice_override={voice_override} skip_vc={skip_vc} skip_post={skip_post} text={text[:60]!r}")
webui_url = self._get_webui_url()
secret = self._get_internal_secret()
@@ -3085,13 +3086,14 @@ class TtsToy(Cog):
log.exception(f"[WebUI] VC playback failed for job {job_id}: {e}")
# Post transcript to Discord channel and mark job done
# Resolve the best guild ID for posting: login guild > VC guild > empty
# Post transcript to Discord channel (unless skip_post)
post_guild_id = guild_id_str or (str(member_guild.id) if member_guild else "")
await self._handle_webui_post({
"job_id": job_id, "path": audio_path,
"text": text, "user": discord_name, "engine": mode,
"guild_id": post_guild_id,
})
if not skip_post:
await self._handle_webui_post({
"job_id": job_id, "path": audio_path,
"text": text, "user": discord_name, "engine": mode,
"guild_id": post_guild_id,
})
await asyncio.to_thread(_update_job, "done", path=audio_path)
async def _handle_webui_post(self, post: dict):