Skip to content

Tapback (Reaction) Support #66

@safaaleigh

Description

@safaaleigh

Summary
Add support for sending and receiving iMessage tapback reactions (❤️ 👍 👎 😂 ‼️ ❓) via the CLI.

Use Case
I'm using imsg with an automation tool (OpenClaw) that acknowledges incoming messages with emoji reactions on other platforms (Slack, Discord). I'd like the same capability for iMessage — automatically sending a tapback to acknowledge receipt of messages.

Proposed Commands

Send a tapback:

imsg tapback --to "+14155551212" --message-id --type love
imsg tapback --chat-id 1 --message-guid --type like
Tapback types:

• love (❤️)
• like (👍)
• dislike (👎)
• laugh (😂)
• emphasize (‼️)
• question (❓)
Watch with tapbacks:

imsg watch --include-tapbacks
Technical Notes
Tapbacks are stored in the message table with associated_message_guid and associated_message_type fields. The tapback type is encoded in associated_message_type:

• 2000 = love
• 2001 = like
• 2002 = dislike
• 2003 = laugh
• 2004 = emphasize
• 2005 = question
Sending tapbacks likely requires AppleScript or private APIs to inject into Messages.app, similar to how imsg send works.

Environment

• macOS 15.x (Sequoia)
• imsg 0.4.0
• Using with OpenClaw for message automation

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions