Skip to main content
Glama

ads_telegram_message_react

Adds one emoji reaction to an existing Telegram message using explicit confirmation and optional text matching to prevent reacting to changed content, without sending text or marking the chat read.

Instructions

Add one emoji reaction to one existing Telegram message through the selected local GramJS/TDLib account. Requires Telegram Premium, explicit confirm=true and (when available) expected_text to fail closed if the message changed; does not send text or mark the chat read.

Input Schema

NameRequiredDescriptionDefault
chatYes@username, t.me link, or numeric Telegram chat id
confirmYesExplicitly confirm adding this one reaction
reactionYesOne standard emoji reaction, for example 👍
message_idYes
expected_textNoExact current message text; no reaction is added if it differs

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the load and does well: it discloses the Premium entitlement requirement, the mandatory confirm gate, the optimistic-concurrency guard via expected_text, and the side effects it deliberately avoids (no text send, no read marking). It does not say what happens if the user already reacted or how a reaction is removed, which is the main residual gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two tight clauses: the action plus its preconditions and boundaries, with the action front-loaded. Dense but every clause carries information; only the parenthetical '(when available)' is slightly ambiguous.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-purpose mutation tool with no output schema and no annotations, the description covers the decision-critical facts: entitlement, confirmation, expected_text guard, and negative scope. Return behavior and idempotency on repeat reactions are the remaining unknowns, but they are minor for this operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 80%, so most parameters are documented by the schema itself, and the description adds the rationale for confirm ('explicit') and expected_text ('fail closed if the message changed') that the schema only states mechanically. The only parameter with no description anywhere, message_id, is still self-evident from context, so nothing critical is missing.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Add one emoji reaction to one existing Telegram message') plus the execution channel ('selected local GramJS/TDLib account'). That combination clearly separates it from ads_telegram_chat_reply, ads_telegram_channel_direct_send and ads_telegram_chat_mark_read among the siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete preconditions: Telegram Premium account, explicit confirm=true, and optional expected_text for fail-closed behavior. It also scopes the tool negatively ('does not send text or mark the chat read'), implicitly routing message-sending and read-marking to other tools, though no sibling is named explicitly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools