Telegram Bot Commands, Buttons and Keyboards Explained (2026 Guide)
The difference between a bot people love and one they abandon is usually the interface: clear commands, buttons instead of typing, and a welcome message that gets users to value immediately. Telegram gives bots several ways to do this — commands, two kinds of keyboards, a menu button and inline mode. Here's how each works and when to use it.
In short: commands (/start, /help) are shortcuts in a menu; reply keyboards replace the phone keyboard with buttons; inline keyboards attach buttons under a message; inline mode lets users use your bot inside any chat. Most great bots rely mainly on inline buttons.
1. Bot Commands and the Commands List
Commands start with a slash, like /start, /help or /order. When you register them, Telegram shows them in the menu and suggests them as users type "/".
Set them with BotFather: send /setcommands, choose your bot, then send one per line:
start - Start the bot
catalog - Browse products
orders - Your orders
help - Get help
Developers can use the setMyCommands API method instead, with different command lists for private chats, groups, admins or languages.
Tips: keep commands short and lowercase, keep the list under about 10, and always support /start and /help. In groups, commands may arrive as /help@yourbot, so handle that format.
2. Reply Keyboards
A reply keyboard replaces the user's phone keyboard with large buttons. Pressing a button simply sends its text as a message — "📦 My orders" sends that text to the bot.
- Good for: main menus, yes/no answers, sharing a phone number or location (special buttons can request these with the user's permission).
- Downsides: button presses clutter the chat with messages, and the keyboard stays until you remove it.
3. Inline Keyboards (Inline Buttons)
Inline buttons appear directly under a specific message. They don't send messages to the chat — they either:
- send hidden callback data to the bot (up to 64 bytes), which the bot handles by editing the message or replying;
- open a URL;
- open a Mini App;
- start inline mode in another chat (great for sharing).
Because the bot can edit the same message as the user taps through, inline keyboards create clean, app-like menus — product lists, pagination, settings, checkout steps. They are the default choice for most modern bots.
Reply vs Inline: Which to Use?
| Reply keyboard | Inline keyboard | |
|---|---|---|
| Where it appears | Replaces the phone keyboard | Under a specific message |
| What a tap does | Sends text as a message | Sends callback data, opens a link or Mini App |
| Chat clutter | Every tap adds a message | None — the bot edits messages |
| Best for | Main menu, sharing contact/location | Catalogs, pagination, settings, checkout |
4. The Menu Button
The button next to the message field can show your commands list or open a Mini App. If you have a Mini App store or dashboard, set the menu button to open it — users get one-tap access. See Telegram Mini App development.
5. Inline Mode
With inline mode (enable it via /setinline in BotFather), users type @yourbot query in any chat and send a result from your bot into that chat — like @gif or @wiki. Every use shows your bot's name to new people, which makes inline mode a powerful growth feature. See how to grow your Telegram bot.
6. Writing a Great Welcome Message
- One sentence on what the bot does.
- Two or three inline buttons for the most common actions.
- A way to get help or reach a human.
- Set a description with
/setdescriptionso users see what the bot does before pressing Start.
Want a bot with a clean, button-driven experience — catalogs, checkout, settings and Mini Apps? We design and build it for you.
The Bottom Line
Register a short commands list, use inline keyboards for most interactions, keep reply keyboards for main menus and contact sharing, consider a Mini App for rich interfaces, and turn on inline mode if sharing helps your bot. New to bots? Start with how to create a Telegram bot.
Frequently Asked Questions
How do I add a commands list to my Telegram bot?
Send /setcommands to @BotFather, choose your bot, and send one command per line in the format 'command - description'. Developers can also set commands with the setMyCommands API method, including different lists for groups or languages.
What is the difference between a reply keyboard and an inline keyboard?
A reply keyboard replaces the user's phone keyboard with buttons that send text messages. An inline keyboard shows buttons attached under a specific message; pressing one sends hidden callback data to the bot or opens a link, without sending a message to the chat.
How do I add buttons to a Telegram bot?
Buttons are added in your bot's code by attaching a reply_markup to a message — either a ReplyKeyboardMarkup for reply buttons or an InlineKeyboardMarkup for inline buttons. No-code bot builders add them visually.
What is inline mode in a Telegram bot?
Inline mode lets users type @yourbot followed by a query in any chat and send a result from your bot into that chat. Enable it with /setinline in @BotFather.
What should a Telegram bot welcome message include?
One sentence on what the bot does, buttons for the two or three most common actions, and a way to get help. Keep it short — long welcome texts lose users.