hermes-agent/gateway/platforms
Sierra (Hermes Agent) 01ae9b853e fix(telegram): resolve replies to rich (sendRichMessage) messages
Telegram does not echo a sendRichMessage's content back in
reply_to_message (.text/.caption empty, .api_kwargs None), so replies
to rich sends (briefings, the gateway's own rich finals) arrived with
no quotable text and the [Replying to: ...] injection was skipped.

Remember message_id -> text at send time in a best-effort JSON index
(gateway/rich_sent_store.py), and recover it on inbound when text and
caption are both empty. Best-effort and no-throw throughout: any
failure degrades to prior behavior and never breaks a send or message.

Salvaged from #47375 by @x1erra. Dropped the cross-platform run.py
reply-prefix rewrite (out of scope; bloated every reply on every
platform) and scrubbed a docstring reference to an out-of-repo script.
Kept the inbound reply_to logging enrichment used to verify the fix.
2026-06-16 13:04:20 -07:00
..
qqbot
…
ADDING_A_PLATFORM.md
…
__init__.py
…
_http_client_limits.py
…
api_server.py
…
base.py
…
bluebubbles.py
…
dingtalk.py
…
email.py
…
feishu.py
…
feishu_comment.py
…
feishu_comment_rules.py
…
feishu_meeting_invite.py
…
helpers.py
…
matrix.py
…
msgraph_webhook.py
…
signal.py
…
signal_rate_limit.py
…
slack.py
…
sms.py
…
telegram.py
…
telegram_network.py
…
webhook.py
…
wecom.py
…
wecom_callback.py
…
wecom_crypto.py
…
weixin.py
…
whatsapp.py
…
whatsapp_cloud.py
…
whatsapp_common.py
…
yuanbao.py
…
yuanbao_media.py
…
yuanbao_proto.py
…
yuanbao_sticker.py
…