Hey everyone,
I've been running multiple OpenClaw agents in a Telegram seminar group chat (teaching assistant use case โ students + lecturer, each with their own bot). The cost problem hit fast: with activation=always, every "ok", "lol", and "see you Tuesday" triggers a full LLM call. The NO_REPLY filter catches irrelevant messages, but only after the LLM has already been invoked. 500 messages in a quiet week, maybe 5 actual triggers โ that's $4.80 in wasted tokens.
I know others have run into this. The neverReply PR (#42400) tackles it across 14 channels, and the Observer Mode discussion (#2314) has been asking for something like this since last year. Issue #18869 keeps coming up too.
What I built: A listen-only mode that flips the logic. A pre-LLM gate checks for triggers (mention, voice, command) before calling the LLM. Non-trigger messages get silently batched into context โ so when someone actually @mentions the bot, it has the full conversation history. 500 messages, 0 triggers = $0.00.
โโโ Seminar group chat โโ Members: Lu, Friedrich, Paul, @TABot โโโ
[Mar 3, 14:05 ยท Lu] Thursday is the Laozi block โ everyone read chapters 1-20.
[Mar 3, 14:05 ยท Paul] Which translation are we using?
[Mar 3, 14:06 ยท Friedrich] Check the pinned message in #materialien. See you next week!
No LLM call. @TABot silently stores all three messages. One week later:
[Mar 10, 09:32 ยท Lu] @TABot What's today's session about?
[Mar 10, 09:32 ยท @TABot] Today is the Laozi block. The group agreed to read
chapters 1โ20 of the Daodejing. Friedrich posted
the translation link in #materialien last Tuesday.