WhatsApp and Signal already had groups config with requireMention and group allowlists. This brings the same pattern to the remaining three channels, giving operators consistent control over which groups the bot participates in and whether mentions are required. - New `groups` config for Telegram, Discord, Slack (per-group allowlist with requireMention, wildcard support) - Telegram: standalone gating module with entity, text, command, and regex mention detection; applied to text, voice, and attachment handlers - Discord: inline gating using native message.mentions API - Slack: gating in message handler (drops non-mentions) and app_mention handler (allowlist check); helper methods on adapter - Signal: pass wasMentioned through to InboundMessage (was detected but never forwarded) - Config wiring: groups/mentionPatterns forwarded from main.ts to all adapter constructors - 17 new tests for Telegram gating Written by Cameron ◯ Letta Code "Even in the group chat of life, sometimes you gotta be @mentioned to know the universe is talking to you." — Ancient Internet Proverb
This commit is contained in:
@@ -39,15 +39,26 @@ channels:
|
||||
# groupPollIntervalMin: 5 # Batch interval for group messages (default: 10)
|
||||
# instantGroups: ["-100123456"] # Groups that bypass batching
|
||||
# listeningGroups: ["-100123456"] # Groups where bot observes but only replies when @mentioned
|
||||
# Group access control (which groups can interact, mention requirement):
|
||||
# groups:
|
||||
# "*": { requireMention: true } # Default: only respond when @mentioned
|
||||
# "-1001234567890": { requireMention: false } # This group gets all messages
|
||||
# mentionPatterns: ["hey bot"] # Additional regex patterns for mention detection
|
||||
# slack:
|
||||
# enabled: true
|
||||
# appToken: xapp-...
|
||||
# botToken: xoxb-...
|
||||
# listeningGroups: ["C0123456789"] # Channels where bot observes only
|
||||
# # groups:
|
||||
# # "*": { requireMention: true } # Default: only respond when @mentioned
|
||||
# # "C0123456789": { requireMention: false }
|
||||
# discord:
|
||||
# enabled: true
|
||||
# token: YOUR-DISCORD-BOT-TOKEN
|
||||
# listeningGroups: ["1234567890123456789"] # Server/channel IDs where bot observes only
|
||||
# # groups:
|
||||
# # "*": { requireMention: true } # Default: only respond when @mentioned
|
||||
# # "1234567890123456789": { requireMention: false } # Server or channel ID
|
||||
# whatsapp:
|
||||
# enabled: true
|
||||
# selfChat: false
|
||||
|
||||
Reference in New Issue
Block a user