feat(telegram): add topic group trigger overrides#2779
Open
bogdanovich wants to merge 1 commit intosipeed:mainfrom
Open
feat(telegram): add topic group trigger overrides#2779bogdanovich wants to merge 1 commit intosipeed:mainfrom
bogdanovich wants to merge 1 commit intosipeed:mainfrom
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Adds per-topic
group_triggeroverrides for Telegram forum topics.This lets a bot stay conservative in a Telegram supergroup by default, for example
mention_only: true, while being active by default in one dedicated forum topic:{ "channel_list": { "telegram": { "group_trigger": { "mention_only": true, "topics": { "1771": { "mention_only": false } } } } } }Why this is needed
Telegram supergroups often use forum topics as separate sub-channels. A bot owner may want the bot to be mention-only in most topics to avoid interrupting normal group conversation, but fully active in a dedicated topic where users expect the bot to answer every message.
Doing this in the prompt is unreliable because the message has already reached the agent. The right layer is the channel trigger filter, before the inbound message is published to the agent bus.
Design
group_triggerwith optionaltopicsmap.BaseChannel, so Telegram does not duplicate mention/prefix filtering.message_thread_idas the topic ID only for forum chats (is_forum=true), matching the existing session isolation behavior.group_triggerfor that topic.The replacement semantics are intentional. Current config uses plain bools, so a partial merge cannot distinguish an omitted
mention_onlyfrom an explicitmention_only: false. A topic entry such as{ "mention_only": false }should be an explicit permissive override.Testing
go test ./pkg/channels ./pkg/channels/telegram ./pkg/config