🎯 The Goal / Use Case
Telegram users expect lightweight acknowledgement patterns such as reacting with an emoji instead of always sending a full text reply.
For short interactions like “thanks”, “ok”, “seen”, “approved”, or simple emotional feedback, PicoClaw currently needs to send a normal message, which creates unnecessary noise in private chats, groups, and forum topics. This is especially noticeable in active Telegram threads where a reaction is a more natural response than another bot message.
The goal is to let PicoClaw use native Telegram reactions as a first-class response mode, with the option to also send a text reply when needed.
💡 Proposed Solution
Add first-class support for Telegram message reactions as a native agent capability.
The feature should allow the agent to:
- react to the current inbound Telegram message
- react to the parent / replied-to message when relevant
- react to a specific known Telegram message ID when needed
- choose between
reaction only and reaction + text reply
To keep the behavior predictable and safe, allowed emojis should be controlled by config via
channels.telegram.allowed_reaction_emoji, with a sensible default allowlist.
When the agent chooses a reaction-only response, PicoClaw should suppress the final text reply so the visible result is just the emoji reaction, not a redundant extra message (it should be controlled by bot).
🛠 Potential Implementation (Optional)
A practical implementation path would be:
- add / keep a Telegram-specific
reaction tool that is only available in Telegram conversations
- implement channel-level reaction sending through the Telegram Bot API
setMessageReaction
- route reaction execution through the channel manager so tools do not call Telegram directly
- use existing Telegram reply context to resolve
current, parent, or explicit message_id targets
- support
also_reply=true for cases where the agent should both react and send text
- when
also_reply=false, mark the turn as handled externally so typing / placeholder state is cleaned up without emitting an extra outbound message
- cover the behavior with tests for emoji allowlist validation, target resolution, Telegram API payload generation, and reaction-only flow suppression
- document the config in Telegram docs and optionally expose
allowed_reaction_emoji in the web config UI
🚦 Impact & Roadmap Alignment
🎯 The Goal / Use Case
Telegram users expect lightweight acknowledgement patterns such as reacting with an emoji instead of always sending a full text reply.
For short interactions like “thanks”, “ok”, “seen”, “approved”, or simple emotional feedback, PicoClaw currently needs to send a normal message, which creates unnecessary noise in private chats, groups, and forum topics. This is especially noticeable in active Telegram threads where a reaction is a more natural response than another bot message.
The goal is to let PicoClaw use native Telegram reactions as a first-class response mode, with the option to also send a text reply when needed.
💡 Proposed Solution
Add first-class support for Telegram message reactions as a native agent capability.
The feature should allow the agent to:
reaction onlyandreaction + text replyTo keep the behavior predictable and safe, allowed emojis should be controlled by config via
channels.telegram.allowed_reaction_emoji, with a sensible default allowlist.When the agent chooses a reaction-only response, PicoClaw should suppress the final text reply so the visible result is just the emoji reaction, not a redundant extra message (it should be controlled by bot).
🛠 Potential Implementation (Optional)
A practical implementation path would be:
reactiontool that is only available in Telegram conversationssetMessageReactioncurrent,parent, or explicitmessage_idtargetsalso_reply=truefor cases where the agent should both react and send textalso_reply=false, mark the turn as handled externally so typing / placeholder state is cleaned up without emitting an extra outbound messageallowed_reaction_emojiin the web config UI🚦 Impact & Roadmap Alignment