Skip to content

feat: spawn thread via emoji reaction trigger - #86

Merged
IceRhymers merged 1 commit into
masterfrom
issue-85-reaction-trigger
Mar 31, 2026
Merged

feat: spawn thread via emoji reaction trigger#86
IceRhymers merged 1 commit into
masterfrom
issue-85-reaction-trigger

Conversation

@IceRhymers

Copy link
Copy Markdown
Owner

Summary

Closes #85

Adds Phase 3 to the poll loop that watches for a configurable emoji reaction (default: onit) on messages. When the authenticated user adds the trigger reaction to any message in a watched channel, Claw:
• Starts a new thread on that message
• Sends Claude an opening message with context prefix
• Removes the reaction to keep the channel clean

Changes

claw/core/config.py — Added CLAW_TRIGGER_REACTION and CLAW_REACTION_CHANNELS config fields with reaction_channels property
claw/core/slack_client.py — Added remove_reaction() function for Slack reactions.remove API
claw/core/slack_poller.py — Added Phase 3 reaction trigger detection with _check_reaction_triggers() method; dedup via get_session
openspec/changes/reaction-trigger/spec.md — OpenSpec for the feature
tests/test_slack_poller.py — 6 new tests in TestReactionTrigger class

Test plan

• All 308 tests pass (302 existing + 6 new)
• Tests cover: trigger creation, other-user ignore, dedup, disabled state, reaction removal, context prefix

Add Phase 3 to the poll loop that watches for a configurable emoji
reaction (default: "onit") on messages. When the authenticated user
adds the trigger reaction, Claw starts a new thread with context
and removes the reaction. Includes dedup via session lookup.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@IceRhymers
IceRhymers merged commit 5b6e0f0 into master Mar 31, 2026
1 check passed
@IceRhymers
IceRhymers deleted the issue-85-reaction-trigger branch April 3, 2026 14:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: spawn thread via emoji reaction trigger

1 participant