How to show options in telegram bot?
Solution 1:
For that, you have to talk to BotFather.
-
In the Telegram App, open the chat with BotFather.
-
Send him
/setcommands
. He will present you with a list of your bots. -
Pick the bot for which you want to set the command menu.
-
Compose and send the command list. Using your image as an example, these 4 lines should do:
start - Description 1
menu - Description 2
help - Description 3
stop - Description 4
Note that command part of each line(left side of -
signs) must have just lowercase characters, and no slashes. There should also be spaces around the -
sign.
Once you complete this process, exit and kill the Telegram App. Re-open it, go to the chat with your target bot, type a /
(or tab on the /
button next to the text field), the command menu should come up.
Solution 2:
New dynamic way to set commands
Telegram introduced a separate method setMyCommands
which allows you to set commands via API directly from your code.
{
"commands": [
{
"command": "start",
"description": "Start using bot"
},
{
"command": "help",
"description": "Display help"
},
{
"command": "menu",
"description": "Display menu"
}
],
"language_code": "en"
}
Moreover, it allows you to customize commands per language code with language_code
parameter