openclaw - ✅(Solved) Fix [Feature]: Separate Telegram reaction from `requireMention` [1 pull requests, 1 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
openclaw/openclaw#65808Fetched 2026-04-14 05:40:11
View on GitHub
Comments
0
Participants
1
Timeline
2
Reactions
0
Author
Participants
Timeline (top)
cross-referenced ×1labeled ×1

When I text openclaw and there is no reaction, I can't tell if it received the message or that it needs me to mention it

Root Cause

When I text openclaw and there is no reaction, I can't tell if it received the message or that it needs me to mention it

Fix Action

Fixed

PR fix notes

PR #66041: fix(telegram): keep ack reactions without mentions

Description (problem / solution / changelog)

Summary

  • Problem: Telegram ack reactions stop when group requireMention is disabled, even though those group messages still trigger runs.
  • Why it matters: always-on Telegram groups look ignored while the agent is actually working.
  • What changed: when Telegram is using the default messages.ackReactionScope: "group-mentions", groups with requireMention: false now keep ack reactions; added a focused regression test and docs note.
  • What did NOT change (scope boundary): no change to non-Telegram channels, and no change to explicit ack scopes such as all, direct, group-all, off, or none.

Change Type (select all)

  • Bug fix
  • Feature
  • Refactor required for the fix
  • Docs
  • Security hardening
  • Chore/infra

Scope (select all touched areas)

  • Gateway / orchestration
  • Skills / tool execution
  • Auth / tokens
  • Memory / storage
  • Integrations
  • API / contracts
  • UI / DX
  • CI/CD / infra

Linked Issue/PR

  • Closes #65808
  • Related #65808
  • This PR fixes a bug or regression

Root Cause (if applicable)

  • Root cause: the shared ack-reaction gate required requireMention=true for group-mentions, so Telegram groups configured to process unmentioned messages stopped qualifying for the ack emoji.
  • Missing detection / guardrail: there was no regression test covering ack reactions in Telegram groups with requireMention: false.
  • Contributing context (if known): Telegram already treats those messages as reply-worthy once mention gating is disabled, so the ack surface drifted from actual processing behavior.

Regression Test Plan (if applicable)

  • Coverage level that should have caught this:
    • Unit test
    • Seam / integration test
    • End-to-end test
    • Existing coverage already sufficient
  • Target test or file: extensions/telegram/src/bot.create-telegram-bot.test.ts
  • Scenario the test should lock in: a group message without a mention still receives the ack reaction when Telegram group config sets requireMention: false.
  • Why this is the smallest reliable guardrail: the behavior depends on the Telegram message pipeline, config resolution, and reaction dispatch, so the existing create-bot harness is the smallest seam that exercises the full path.
  • Existing test that already covers this (if any): the adjacent mention-gated ack reaction test in the same file.
  • If no new test is added, why not: N/A

User-visible / Behavior Changes

  • Telegram groups configured with requireMention: false now keep the ack emoji while the message is being processed, even when the global ack scope remains group-mentions.

Diagram (if applicable)

Before:
[group message, no mention] -> [Telegram run starts] -> [no ack reaction shown]

After:
[group message, no mention] -> [Telegram run starts] -> [ack reaction shown] -> [reply arrives]

Security Impact (required)

  • New permissions/capabilities? (Yes/No) No
  • Secrets/tokens handling changed? (Yes/No) No
  • New/changed network calls? (Yes/No) No
  • Command/tool execution surface changed? (Yes/No) No
  • Data access scope changed? (Yes/No) No
  • If any Yes, explain risk + mitigation:

Repro + Verification

Environment

  • OS: macOS
  • Runtime/container: local pnpm workspace
  • Model/provider: N/A
  • Integration/channel (if any): Telegram
  • Relevant config (redacted): messages.ackReaction="👀", messages.ackReactionScope="group-mentions", channels.telegram.groups["*"].requireMention=false

Steps

  1. Configure Telegram with messages.ackReaction enabled and channels.telegram.groups["*"].requireMention=false.
  2. Send a normal group message without mentioning the bot.
  3. Observe whether the ack reaction appears before the reply is delivered.

Expected

  • The bot acknowledges the inbound group message because that message is eligible to trigger a run.

Actual

  • Before this change, no ack reaction was sent for that message path.

Evidence

  • Failing test/log before + passing after
  • Trace/log snippets
  • Screenshot/recording
  • Perf numbers (if relevant)

Focused verification after the patch:

$ npx --yes pnpm exec vitest run extensions/telegram/src/bot.create-telegram-bot.test.ts
Test Files  1 passed (1)
Tests       51 passed (51)

Human Verification (required)

  • Verified scenarios: mention-gated Telegram group messages still ack; Telegram groups with requireMention: false now ack without a mention.
  • Edge cases checked: the change is gated to Telegram and only rewrites the effective scope when the current scope is group-mentions.
  • What you did not verify: live Telegram Bot API behavior against a real bot account; multi-account Telegram setups.

Review Conversations

  • I replied to or resolved every bot review conversation I addressed in this PR.
  • I left unresolved only the conversations that still need reviewer or maintainer judgment.

Compatibility / Migration

  • Backward compatible? (Yes/No) Yes
  • Config/env changes? (Yes/No) No
  • Migration needed? (Yes/No) No
  • If yes, exact upgrade steps:

Risks and Mitigations

  • Risk: Telegram users who intentionally paired requireMention: false with group-mentions may now see more ack reactions in always-on groups.
    • Mitigation: the change is limited to Telegram groups already configured to process every visible message, and users can still opt into off, none, direct, group-all, or all explicitly.

AI-assisted: Yes (Codex). I attempted codex review --base origin/main, but the local Codex CLI review could not complete because the authenticated Codex session had hit its usage limit.

Changed files

  • docs/channels/telegram.md (modified, +1/-0)
  • extensions/telegram/src/bot-message-context.ts (modified, +5/-1)
  • extensions/telegram/src/bot.create-telegram-bot.test.ts (modified, +30/-0)
RAW_BUFFERClick to expand / collapse

Summary

When I text openclaw and there is no reaction, I can't tell if it received the message or that it needs me to mention it

Problem to solve

When requireMention is false, openclaw should just stop requiring a mention, it should continue to react to messages

Proposed solution

Continue to react to messages even if requireMention is false

Alternatives considered

No response

Impact

Affected: Every message Severity: Medium Frequency: Every message Consequence: My mind hallucinates when there is not reaction from openclaw

Evidence/examples

No response

Additional information

No response

extent analysis

TL;DR

Modify the message handling logic to react to messages even when requireMention is false.

Guidance

  • Review the current implementation of requireMention to understand how it affects message handling.
  • Update the condition that checks for requireMention to allow reactions to messages without a mention when it's set to false.
  • Verify that the change doesn't introduce any unintended behavior, such as reacting to irrelevant messages.
  • Consider adding logging or debugging statements to track how messages are being handled with the updated logic.

Example

if (requireMention === false || message.includes(mention)) {
  // React to the message
}

Notes

The exact implementation details may vary depending on the programming language and framework being used. This guidance assumes a basic understanding of conditional statements and message handling.

Recommendation

Apply workaround: Modify the message handling logic as described, to ensure openclaw reacts to messages even when requireMention is false, providing a more responsive interaction.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING