How could I create a three-dashes menus on a Telegram bot, similarly to what they do to the Jobs bot? It should be similar to this:
How do we call this kind of menu?
How could I create a three-dashes menus on a Telegram bot, similarly to what they do to the Jobs bot? It should be similar to this:
How do we call this kind of menu?
In java case with this library.
if the commands already was created, so simply in the class that extends TelegramLongPollingBot:
this.execute(new GetMyCommands());
In other case:
Create new List BotCommand
List<> commandsList = new ArrayList();
Adding BotCommand to the list with name and description
commandsList.add(new BotCommand("commandName", "description"));
Create a new SetMyCommands whit the botCommandList and executed
this.execute(new SetMyCommands(commands));
more information about: https://telegram.org/blog/animated-backgrounds#bot-menu
You can add your commands which will be displayed on the menu using the Bot father commands.
I followed the below steps:
Now open your bot and the command you send will be displayed on the Menu.
Hope this helps.
In java case with this library.
if the commands already was created, so simply in the class that extends TelegramLongPollingBot:
this.execute(new GetMyCommands());
In other case:
Create new List BotCommand
List<> commandsList = new ArrayList();
Adding BotCommand to the list with name and description
commandsList.add(new BotCommand("commandName", "description"));
Create a new SetMyCommands whit the botCommandList and executed
this.execute(new SetMyCommands(commands));
more information about: https://telegram.org/blog/animated-backgrounds#bot-menu
If you are looking for a solution using python-telegram-bot
, here is a simple code reference:
from telegram import BotCommand
from telegram.ext import ApplicationBuilder, Application, CommandHandler
config = dotenv_values(".env")
command_info = [
BotCommand("hello", "Say hello to the bot"),
]
command_handlers = [
CommandHandler("hello", hello),
]
async def post_init(application: Application) -> None:
bot = application.bot
await bot.set_my_commands(commands=command_info)
if __name__ == "__main__":
log("Starting bot...")
app = (
ApplicationBuilder()
.token(config["BOT_TOKEN"])
.post_init(post_init)
.build()
)
app.add_handlers(command_handlers)
log("Bot started!")
app.run_polling()
References:
© 2022 - 2024 — McMap. All rights reserved.