-
Notifications
You must be signed in to change notification settings - Fork 12
MenuAPI
Amir Ali Omidi edited this page Mar 5, 2018
·
2 revisions
The Menu API allows you to create inline keyboards easily.
To use this MenuAPI you need to include it in your pom.xml:
<dependency>
<groupId>com.jtelegram</groupId>
<artifactId>jtelegrambotapi-menus</artifactId>
<version>LATEST</version>
</dependency>
To build a SimpleMenu:
SimpleMenu menu = SimpleMenu.builder().bot(telegramBot).build();
With this method, you're essentially bootstrapping a Menu. Once that is done, you can add a row of buttons to this Menu using the menu#addRow
method.
For example:
AtomicInteger integer = new AtomicInteger();
menu.addRow(MenuRow
.from(SimpleMenuButton.builder()
.label("Test")
.onPress((simpleMenuButton, callbackQueryEvent) -> {
simpleMenuButton.setLabel("Another Test: " + integer.getAndIncrement());
return true;
})
.build()
));
Once this is complete, we have to essentially tell the API who we want to display this menu to. This is simply done using:
menu.addViewer(InlineMenuViewer.builder().inlineMessageId(inlineMessageId).build());
And finally, we register it:
MenuHandler.registerMenu(menu);