Metadata-Version: 2.4
Name: hermes-plugin-telegram-reactions
Version: 1.0.0
Summary: React to Telegram messages with emoji -- one tool call, zero ceremony
Author: HenkDz
License: MIT
Keywords: hermes,hermes-agent,hermes-plugin,telegram,reactions
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Communications :: Chat
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: aiohttp>=3.9

# hermes-plugin-telegram-reactions

A [Hermes Agent](https://github.com/NousResearch/hermes-agent) plugin that adds emoji reactions to Telegram messages. One tool call, one HTTP request, zero ceremony.

## What it does

Adds a `set_reaction` tool that reads the current message's `chat_id` and `message_id` from the gateway's session environment variables. The agent just passes an emoji -- no need to figure out message IDs or chat IDs manually.

```
User: that's awesome!
Agent: [reacts with 🔥] Glad you liked it!
```

## Install

### pip (recommended)

```bash
pip install hermes-plugin-telegram-reactions
```

Restart Hermes and the tool appears automatically.

### Manual (directory plugin)

```bash
mkdir -p ~/.hermes/plugins/telegram-reactions
# Copy the plugin files there:
cp hermes_plugin_telegram_reactions/__init__.py ~/.hermes/plugins/telegram-reactions/
cp hermes_plugin_telegram_reactions/tool.py ~/.hermes/plugins/telegram-reactions/
```

## Requirements

- Hermes Agent with Telegram gateway configured and running
- `aiohttp` (included as a dependency)

The plugin only activates when a Telegram bot token is detected. It's invisible on CLI or other platforms.

## How it works

| Step | What happens |
|------|-------------|
| Agent calls `set_reaction(emoji="🔥")` | Single tool call |
| Plugin reads `HERMES_SESSION_CHAT_ID` and `HERMES_SESSION_MESSAGE_ID` | Set by the gateway automatically |
| Single POST to `telegram.org/bot{token}/setMessageReaction` | One HTTP request |
| Done. | |

No `getUpdates`, no message polling, no extra commands.

## License

MIT
