Telegram Bot Commands, Buttons and Keyboards Explained (2026 Guide)

Published · Last updated · By AziqDev · 8 min read

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.

3. Inline Keyboards (Inline Buttons)

Inline buttons appear directly under a specific message. They don't send messages to the chat — they either:

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 keyboardInline keyboard
Where it appearsReplaces the phone keyboardUnder a specific message
What a tap doesSends text as a messageSends callback data, opens a link or Mini App
Chat clutterEvery tap adds a messageNone — the bot edits messages
Best forMain menu, sharing contact/locationCatalogs, 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

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.