feat(whatsapp): add acknowledgment reactions#629
Merged
steipete merged 7 commits intoopenclaw:mainfrom Jan 11, 2026
Merged
Conversation
164c6d6 to
1c4603a
Compare
1c4603a to
7aa734f
Compare
- Add automatic emoji reactions on inbound WhatsApp messages
- Support all ackReactionScope modes: all, direct, group-all, group-mentions
- Reaction is sent AFTER successful reply (unlike Telegram/Discord)
- Errors are logged with proper context
- Add comprehensive test suite for ack reaction logic
Config usage:
messages:
ackReaction: "👀"
ackReactionScope: "group-mentions" # default
Closes: WhatsApp ack-reaction feature request
- Fix bug where ack reaction was not sent when group activation is 'always' - When requireMention=false (activation: always), always send reaction - Add test case for activation='always' scenario - Update inline comments for clarity
- Remove unused mock variables in tests - Remove unused ackReactionScope variables in simple test cases - Fix line length for ackReactionScope declaration - All lint checks passing (0 warnings, 0 errors) - All tests passing (8/8)
- Move config from messages.ackReaction to whatsapp.ackReaction
- New structure: {emoji, direct, group} with granular control
- Support per-account overrides in whatsapp.accounts.*.ackReaction
- Add Zod schema validation for new config
- Maintain backward compatibility with old messages.ackReaction format
- Update tests to new config structure (14 tests, all passing)
- Add comprehensive documentation in docs/providers/whatsapp.md
- Timing: reactions sent immediately upon message receipt (before bot reply)
Breaking changes:
- Config moved from messages.ackReaction to whatsapp.ackReaction
- Scope values changed: 'all'/'direct'/'group-all'/'group-mentions'
→ direct: boolean + group: 'always'/'mentions'/'never'
- Old config still supported via fallback for smooth migration
7aa734f to
38604ac
Compare
Contributor
3 tasks
zooqueen
pushed a commit
to hanzoai/bot
that referenced
this pull request
Mar 6, 2026
zooqueen
pushed a commit
to hanzoai/bot
that referenced
this pull request
Mar 6, 2026
…action feat(whatsapp): add acknowledgment reactions
heatherstew44-maker
pushed a commit
to heatherstew44-maker/openclaw
that referenced
this pull request
Mar 8, 2026
* arm build? * try newer vulkan * dont think this will work but try anyway * Update build.yml
7 tasks
lovewanwan
pushed a commit
to lovewanwan/openclaw
that referenced
this pull request
Apr 28, 2026
lovewanwan
pushed a commit
to lovewanwan/openclaw
that referenced
this pull request
Apr 28, 2026
…action feat(whatsapp): add acknowledgment reactions
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
May 9, 2026
github-actions Bot
pushed a commit
to Desicool/openclaw
that referenced
this pull request
May 9, 2026
…action feat(whatsapp): add acknowledgment reactions
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.
feat(whatsapp): add acknowledgment reactions
Overview
Implements automatic emoji reactions for WhatsApp messages, sent immediately upon receipt to provide instant user feedback. This is a WhatsApp-specific feature with granular per-chat-type control.
Changes
whatsapp.ackReactionstructure with{emoji, direct, group}optionsprocessMessage(), before typing indicatordocs/providers/whatsapp.mdmessages.ackReactionformat still supported via fallbackConfiguration
Per-account override:
Behavior
directboolean"always": React to all messages"mentions": Only when bot is @mentioned (respectsrequireMention: false)"never": Never react in groupsTesting
Extensively tested with 5 scenarios:
direct=false, group="mentions"- No direct, groups with mention onlydirect=true, group="always"- All direct, all groupsdirect=true, group="never"- All direct, no groupsdirect=false, group="always"- No direct, all groupsUnit tests: 14/14 passing
Build: Success, 0 linting errors
Live tested: Direct chats and group chats with various configurations
Files Changed
Total: ~433 lines changed (5 files)
Breaking Changes
messages.ackReaction+messages.ackReactionScopewhatsapp.ackReaction.{emoji, direct, group}Migration is automatic via fallback, but users should update their configs:
Old format (still works):
New format (recommended):
Related
Checklist
Screenshots / Demo
Live tested with:
requireMention: false) show reaction