mirror of
https://github.com/NousResearch/hermes-agent.git
synced 2026-05-18 04:41:56 +00:00
fix(telegram): skip send_chat_action for DM topic reply-fallback lanes
The send path uses Hermes' reply-anchor fallback for DM topic lanes (message_thread_id + reply_to_message_id), but send_chat_action only accepts message_thread_id — Telegram's Bot API 10.0 rejects it for these lanes. Without this short-circuit, every typing tick (~every 2s during agent runs) makes a doomed API call that gets logged as a 'thread not found' debug warning. Skip the call entirely when the metadata indicates a DM topic reply-fallback lane; the user-visible behavior is unchanged (no typing indicator either way for these lanes), but the logs stay clean. Identified during salvage review of #22053.
This commit is contained in:
parent
b3239572f0
commit
aef297a45e
2 changed files with 38 additions and 0 deletions
|
|
@ -2860,6 +2860,14 @@ class TelegramAdapter(BasePlatformAdapter):
|
|||
if self._bot:
|
||||
try:
|
||||
_typing_thread = self._metadata_thread_id(metadata)
|
||||
# Skip the Bot API call entirely for Hermes-created DM topic
|
||||
# lanes: send_chat_action only accepts message_thread_id, which
|
||||
# Telegram's Bot API 10.0 rejects for these lanes. The send
|
||||
# path uses the reply-anchor fallback instead, but typing has
|
||||
# no equivalent — skipping avoids noisy "thread not found"
|
||||
# debug logs on every typing tick.
|
||||
if metadata and metadata.get("telegram_dm_topic_reply_fallback"):
|
||||
return
|
||||
message_thread_id = self._message_thread_id_for_typing(_typing_thread)
|
||||
# No retry-without-thread fallback here: _message_thread_id_for_typing
|
||||
# already maps the forum General topic to None, so any non-None value
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue