[FEATURE] Telegram channel plugin: inline buttons for choices and approvals
Preflight Checklist
- [x] I have searched existing requests and this feature hasn't been requested yet
- [x] This is a single feature request (not multiple features)
Problem Statement
The official Telegram channel plugin lets Claude send text, files and reactions, but not tappable choices. Every approval or multiple-choice question has to be answered by typing ("1", "y", "merge 34"). On a phone this is slow and error-prone, and with several open questions it is ambiguous which one a typed answer belongs to.
Proposed Solution
Let the reply tool attach inline keyboard buttons (Telegram inline_keyboard), e.g.:
reply(chat_id, text, buttons=[["Merge ✅", "Not now"]])
When the user taps a button, deliver it to Claude as a channel event that includes the original message_id and the button value, so the choice is unambiguous. Optionally edit the original message to show the chosen option and remove the buttons, so a button can't be tapped twice.
Alternative Solutions
Typed numbered options (what I use now) work but are slower. A third-party fork of the plugin with buttons exists, but switching broke my bot setup twice, so I'd much rather have this in the official plugin.
Priority
Medium - Would be very helpful
Feature Category
Other
Use Case Example
- Claude finishes a pull request and asks: "Merge PR #34 and put the site live?" with buttons [Merge] [Not yet].
- I tap [Merge] on my phone.
- Claude receives
button="merge"tied to that message and proceeds, with no guessing and no typing.
Additional Context
I run Claude Code on a Mac mini as my always-on assistant for my company WAMELINK (process automation for Dutch SMBs) and approve merges, deploys and outgoing emails from Telegram many times a day. Buttons would make those approvals faster and safer. Related: #99447 (reply-to context on inbound messages).