← Back to Plugins
Channels

Emoji Confirm Mvp

cattyclaw-bot By cattyclaw-bot 👁 51 views ▲ 0 votes

OpenClaw plugin: emoji-based yes/no confirmations for Discord

GitHub

Configuration Example

{
  "plugins": {
    "load": {
      "paths": ["/path/to/plugins"]
    },
    "allow": ["emoji-confirm-mvp"],
    "entries": {
      "emoji-confirm-mvp": {
        "enabled": true,
        "config": {
          "allowedUserIds": ["YOUR_DISCORD_USER_ID"],
          "expiresMinutes": 10,
          "yesEmojis": ["๐Ÿ‘", "โœ…"],
          "noEmojis": ["๐Ÿ‘Ž", "โŒ"]
        }
      }
    }
  }
}

README

# Emoji Confirm MVP

OpenClaw plugin for emoji-based yes/no confirmations.

## What it does

When the assistant sends a message containing both yes and no emoji (e.g. "Delete the backups? Reply ๐Ÿ‘ or ๐Ÿ‘Ž"), the plugin tracks it as a pending confirmation.

When the user replies with one of those emoji as a text message, the plugin injects context telling the agent to treat it as a yes/no answer.

**Supported emoji (configurable):**
- Yes: ๐Ÿ‘ โœ…
- No: ๐Ÿ‘Ž โŒ

## How it works

Uses a single `before_agent_start` hook (the only hook that reliably fires for all provider + channel combinations, including openai-codex + Discord embedded mode).

1. Scans previous assistant messages for confirmation patterns (contains both yes AND no emoji)
2. If the current user message contains a reaction emoji and there's a pending confirmation, injects context like "The user reacted ๐Ÿ‘ (yes) to: ..."

## Limitations

- Works at the **session level**, not per-message โ€” if multiple confirmations are pending, the most recent is matched
- Discord reaction events (`MESSAGE_REACTION_ADD`) are [currently broken](https://github.com/openclaw/openclaw/issues/26956) in OpenClaw, so users must send emoji as text messages rather than clicking reactions
- `allowedUserIds` defaults to empty โ€” set it in your config to restrict who can confirm

## Config

```json
{
  "plugins": {
    "load": {
      "paths": ["/path/to/plugins"]
    },
    "allow": ["emoji-confirm-mvp"],
    "entries": {
      "emoji-confirm-mvp": {
        "enabled": true,
        "config": {
          "allowedUserIds": ["YOUR_DISCORD_USER_ID"],
          "expiresMinutes": 10,
          "yesEmojis": ["๐Ÿ‘", "โœ…"],
          "noEmojis": ["๐Ÿ‘Ž", "โŒ"]
        }
      }
    }
  }
}
```

## State

Pending confirmations are stored at `workspace/.state/emoji-confirm-mvp.json` and auto-expire.
channels

Comments

Sign in to leave a comment

Loading comments...