mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-29 06:31:32 +00:00
fix(gateway): add direct_messages_topic_id for synthetic Telegram DM events
When /goal loop generates synthetic MessageEvents (goal continuations, status notices), the reply anchor is unavailable (message_id=None). For Telegram DM topic lanes, the Telegram adapter requires direct_messages_topic_id to route messages correctly; without it, the adapter falls back to message_thread_id=None, sending messages to the root 'All Messages' thread instead of the active topic lane. The fix includes direct_messages_topic_id in thread metadata for all non-General Telegram DM topics, ensuring queued/synthetic messages are delivered to the correct thread even when no reply anchor exists.
This commit is contained in:
parent
75e5d0f6bd
commit
5338250dab
1 changed files with 6 additions and 0 deletions
|
|
@ -12546,6 +12546,12 @@ class GatewayRunner:
|
|||
and getattr(source, "chat_type", None) == "dm"
|
||||
):
|
||||
metadata["telegram_dm_topic_reply_fallback"] = True
|
||||
# Telegram DM topic lanes need direct_messages_topic_id in metadata
|
||||
# so synthetic/queued messages (goal continuations, status notices)
|
||||
# route to the correct topic even when reply anchor is unavailable.
|
||||
tid = str(thread_id)
|
||||
if tid and tid not in {"", "1"}:
|
||||
metadata["direct_messages_topic_id"] = tid
|
||||
anchor = reply_to_message_id or getattr(source, "message_id", None)
|
||||
if anchor is not None:
|
||||
metadata["telegram_reply_to_message_id"] = str(anchor)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue