From 7240e0cdac464c855d599967f42f90efe77dbb46 Mon Sep 17 00:00:00 2001 From: h Date: Fri, 28 Aug 2026 18:42:35 +0200 Subject: [PATCH] fix(telegram,core): bare seeds stay silent in telegram --- src/beaver_gateway/core/conversations.py | 2 ++ src/beaver_gateway/frontends/telegram/frontend.py | 4 +--- tests/test_telegram.py | 6 ++++++ 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/src/beaver_gateway/core/conversations.py b/src/beaver_gateway/core/conversations.py index afd7d28..f083d00 100644 --- a/src/beaver_gateway/core/conversations.py +++ b/src/beaver_gateway/core/conversations.py @@ -978,6 +978,8 @@ class Conversations: stamp = datetime.now(UTC).astimezone().strftime("%Y-%m-%d %H:%M") title = f" «{ctx.title}»" if ctx.title else "" head = f"[сид: {ctx.seed}] {ctx.kind}{title}, {stamp}." + if not ctx.text or ctx.seed == "brief": + head += " Это контекст, не обращение: отвечать не нужно." body: str | None = None if self._texts.seed is not None: produced: Any = self._texts.seed(ctx) diff --git a/src/beaver_gateway/frontends/telegram/frontend.py b/src/beaver_gateway/frontends/telegram/frontend.py index 108275e..eae1f04 100644 --- a/src/beaver_gateway/frontends/telegram/frontend.py +++ b/src/beaver_gateway/frontends/telegram/frontend.py @@ -668,9 +668,7 @@ class TelegramFrontend(Frontend): key=f"{event.get('turn_id')}:error", ) case "reply": - if conv.kind == "master" and str( - event.get("item_origin") or "" - ).startswith("сид"): + if str(event.get("item_origin") or "").startswith("сид"): return await self._on_reply(conv, event) case "say": diff --git a/tests/test_telegram.py b/tests/test_telegram.py index 7679136..cae7a76 100644 --- a/tests/test_telegram.py +++ b/tests/test_telegram.py @@ -459,6 +459,12 @@ async def test_commands_status_merge_and_new(stack: Stack) -> None: frontend="telegram", external_id=f"{USER}/902" ) assert child is not None and child.title == "отчёт" + await stack.world.settle(child, 1) + await asyncio.sleep(0.2) + assert all(m["thread"] != 902 for m in stack.bot.sent) + stack.bot.message("первое в новый топик", thread=902) + reply = await stack.until(lambda: stack.sent_with("первое в новый топик"), what="r") + assert reply["thread"] == 902 assert await stack.tg.mark_topic(child) assert stack.bot.topics[-1] == "edit:902:✅ отчёт"