Telegram Inline Buttons

Use inline buttons when communicating with Rahul on Telegram (message tool) to reduce typing and force crisp decisions. Trigger when drafting Telegram messag...

MIT-0 · Free to use, modify, and redistribute. No attribution required.
0 · 250 · 2 current installs · 2 all-time installs
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
The name/description (Telegram inline buttons for Rahul) match the SKILL.md content. There are no unrelated environment variables, binaries, or installs declared; all instructions focus on composing and handling inline-button flows in Telegram.
Instruction Scope
The runtime instructions are limited to message composition, button layout, callback handling, and message-edit behavior. They do not ask the agent to read files, access unrelated environment variables, or transmit data to external endpoints beyond the implied Telegram message tool. The directive to use 'NO_REPLY' when using functions.message is an internal UI/tooling convention, not an exfiltration instruction.
Install Mechanism
No install spec and no code files — instruction-only. Nothing will be written to disk or downloaded during install.
Credentials
The skill declares no required environment variables, credentials, or config paths. That is proportionate for a messaging/UI guideline skill.
Persistence & Privilege
always is false and the skill is user-invocable; the skill can be invoked autonomously by the agent (platform default) but that is not combined with broad privileges or credential access.
Assessment
This skill is low-risk and simply prescribes how to use inline buttons in Telegram conversations. Before installing, confirm you want the agent to automatically edit messages and silently ignore stale callbacks (that behavior can hide confirmations). Also ensure your agent already has legitimate Telegram credentials/permissions configured elsewhere (this skill does not request them). Test flows in a safe chat to verify callbacks, callback_data uniqueness, and that 'NO_REPLY' behavior doesn't suppress information you expect to see.

Like a lobster shell, security has layers — review code before you run it.

Current versionv0.1.0
Download zip
latestvk97fqcd6mb90z4p5r9f9bsaxz981yx1q

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

SKILL.md

Telegram Inline Buttons

Default rule

When sending a proactive message or asking Rahul to choose/confirm something on Telegram, prefer inline buttons over free-text prompts.

Use buttons for:

  • Y/N confirmations
  • A/B (or A/B/C) choices
  • “Do it now vs later”
  • Selecting one of a few next actions

Do not use buttons when:

  • The message is purely informational (no action required)
  • The user needs to paste/enter a value (then ask for text input)
  • There are >5 options (summarize + offer “Show more”)

Button design

  • Keep button labels short (1–4 words)
  • 2–4 buttons is ideal
  • Always include a safe escape hatch when appropriate:
    • “Not now” / “Later” / “Skip”
  • Map button presses to clear next actions in follow-up turns

After a button selection (automatic)

Telegram doesn’t support arbitrary text color in normal bot messages. To make the selection visually pop, do this automatically after a click:

  1. Edit the original message to remove the inline keyboard
  2. Append a standout selection line using emoji / symbols (chosen based on meaning)

Emoji mapping (standard)

  • ✅ / 🟩 = approve / yes / proceed / confirm
  • 🟥 = no / cancel / stop
  • ⬛ = later / skip / defer

Do not send an extra follow-up message that repeats the selection—editing is sufficient unless there’s additional context/results to report.

Tooling rule: if you used functions.message (send/edit) as the user-visible delivery, respond in chat with NO_REPLY (unless you need to include additional results/details beyond what the edit shows).

Duplicate / stale callbacks

If a callback arrives after the message was already finalized (buttons removed / selection committed), do nothing:

  • No extra message
  • No additional edits
  • Just silently ignore

OpenClaw message tool pattern

When using functions.message with action=send, include a buttons grid.

Recommended layouts:

2-button (binary)

Row 1: ["Yes"] ["No"]

3-button (decision + defer)

Row 1: ["Do it"] ["Not now"] Row 2: ["More info"]

A/B/C

Row 1: ["A"] ["B"] ["C"]

Copy-ready micro-templates (Telegram)

Confirm action

Text: "Want me to proceed with <action>?" Buttons: [Proceed] [Hold]

Pick next step

Text: "Pick the next move:" Buttons: [Option A] [Option B] [Option C] [Not now]

Scheduling

Text: "When should I remind you?" Buttons: [15m] [1h] [Tonight] [Tomorrow]

Notes

  • If a button-triggered flow will branch, keep the first message short; put details in the follow-up after the click.
  • Multi-step flows: (1) edit prior message to commit selection, then (2) send the next question with buttons. Don’t narrate the selection separately.
  • Keep callback_data stable and unique per flow step (e.g., flow_step_choice).

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…