Feature Request
Problem
Currently Hermes only discovers forum threads in two ways:
- DM topics — created at startup via
dm_topics config (createForumTopic)
- Incoming messages —
message_thread_id is captured from messages arriving in existing threads
If a user manually creates a new topic in a group (or another admin bot creates one), Hermes has no way to discover it. The Bot API has no getForumTopics method (open request: tdlib/telegram-bot-api#634), so there is no way to query the list of existing topics.
Proposed Solution
Handle the forum_topic_created update from Telegram and surface it to the agent.
When a new topic is created in a chat where Hermes is a member/admin:
- Gateway receives the
forum_topic_created update
- Gateway notifies the agent with the details:
chat_id, message_thread_id, name, icon_custom_emoji_id
- Agent can then update memory/config to register the new thread for future message routing
Implementation Notes
- The
forum_topic_created field is already present in Telegram Message objects when a topic is created
- This should fire alongside the normal message pipeline — the
Message update that carries forum_topic_created can be augmented with metadata
- Optional: also handle
forum_topic_edited (renamed) and forum_topic_closed/forum_topic_reopened for full lifecycle tracking
Use Case
User creates a new topic like "Deployments" or "Incident Response" in a Hermes-enabled group. Instead of manually sharing the thread ID with Hermes, the bot auto-discovers it and can route messages there.
Related Issues
Feature Request
Problem
Currently Hermes only discovers forum threads in two ways:
dm_topicsconfig (createForumTopic)message_thread_idis captured from messages arriving in existing threadsIf a user manually creates a new topic in a group (or another admin bot creates one), Hermes has no way to discover it. The Bot API has no
getForumTopicsmethod (open request: tdlib/telegram-bot-api#634), so there is no way to query the list of existing topics.Proposed Solution
Handle the
forum_topic_createdupdate from Telegram and surface it to the agent.When a new topic is created in a chat where Hermes is a member/admin:
forum_topic_createdupdatechat_id,message_thread_id,name,icon_custom_emoji_idImplementation Notes
forum_topic_createdfield is already present in TelegramMessageobjects when a topic is createdMessageupdate that carriesforum_topic_createdcan be augmented with metadataforum_topic_edited(renamed) andforum_topic_closed/forum_topic_reopenedfor full lifecycle trackingUse Case
User creates a new topic like "Deployments" or "Incident Response" in a Hermes-enabled group. Instead of manually sharing the thread ID with Hermes, the bot auto-discovers it and can route messages there.
Related Issues
getForumTopicsmethod