Hello guys. I'm kinda having trouble with learning Bot Api.

Here's the peace of code I wrote in Java
////////////////////////////////////////////
InlineKeyboardButton next;
InlineKeyboardButton previous;
InlineKeyboardButton url;
private InlineKeyboardMarkup keyboardM1;
private InlineKeyboardMarkup keyboardM2;
private boolean screaming;

private Bot() {
screaming = false;
next = InlineKeyboardButton.builder()
.text("Next").callbackData("next")
.build();
previous = InlineKeyboardButton.builder()
.text("Previous").callbackData("previous")
.build();
url = InlineKeyboardButton.builder()
.text("Tutorial")
.url("https://core.telegram.org/bots/api")
.build();
keyboardM1 = InlineKeyboardMarkup.builder()
.keyboardRow(List.of(next))
.build();
keyboardM2 = InlineKeyboardMarkup.builder()
.keyboardRow(List.of(previous))
.keyboardRow(List.of(url))
.build();
}
/////////////////////////////////////////////
@Override
public void onUpdateReceived(Update update) {
var msg = update.getMessage();
var user = msg.getFrom();
if (update.hasCallbackQuery()) {
CallbackQuery callbackQuery = update.getCallbackQuery();
buttonTap(callbackQuery.getFrom().getId(), callbackQuery.getId(), callbackQuery.getData(), msg.getMessageId());
}
}
///////////////////////////////////////////////////////
public void buttonTap(Long id, String queryId, String data, Integer msgId) {
EditMessageText newTxt = EditMessageText.builder()
.chatId(id.toString()).messageId(msgId).text("").build();
EditMessageReplyMarkup newKB = EditMessageReplyMarkup.builder()
.chatId(id.toString()).messageId(msgId).build();

if (data.equals("next")) {
newTxt.setText("Menu 2");
newKB.setReplyMarkup(keyboardM2);
} else if (data.equals("previous")) {
newTxt.setText("Menu 1");
newKB.setReplyMarkup(keyboardM1);
}
AnswerCallbackQuery close = AnswerCallbackQuery.builder()
.callbackQueryId(queryId).build();
try {
execute(close);
execute(newTxt);
execute(newKB);
} catch (TelegramApiException e) {
throw new RuntimeException(e);
}
}
///////////////////////////////////////////////////
for some reason when i hit the button "Next" it's not working or i did something wrong?

6 ответов

21 просмотр

Use pastebin for code samples

Dilshod-Latipov Автор вопроса
Dilshod-Latipov Автор вопроса
Sery
Use pastebin for code samples

Anyway can you help me?

Dilshod-Latipov Автор вопроса
Dilshod Latipov
Anyway can you help me?

If you send a proper pastebin or nekobin link, maybe.

Похожие вопросы

Обсуждают сегодня

А, вообще, знает кто-нить альтернативы D в области безопасных, читабельных ОО-языков?
Nik Lan
14
приветствую. хочу сделать себе D Playground вопрос: можете подсказать с чего мне следует начать и в какую сторону двигаться? P.S.: я не являюсь программистом... но в небольш...
dd
5
Что кто фри селф хостинг там практикует? Через tunnel?
Serg Gini
8
а как в dub выключить дебажный билд?
Maxim Filimonov
12
у тебя кастом или сток?
quantumde1 Зубенко
4
А что непонятного? В чем сложность взять слайс от вектора? И работать как обычно. Какие-то выдумки опять на ровной почве. Да и RAII в ди прекрасно работает с самого начала.
Aleksandr Druzhinin
14
а почему, кстати, геймдевы обращают такое внимание на "новые" языки типа того же D (а также Zig)?
Maxim Filimonov
9
есть вопрос. за много лет, по редким обрывочным сообщениям, у меня сложилось впечатление что есть такая деликатная тема как замещение скриптов на ди (без компиляции). у себя д...
Karagy
6
А чего плохого в том, чтобы в языке статический анализатор работал всегда ? Кмк сама фишка с безопасностью раста - крутая, но реализация конечно по мне так себе, синтаксис, пр...
Александр
4
Ну не канал, а клуб неанонимных лузеров. Нахрена сидеть в канале и постить депрессию всякую? Не подходит Ди - не пиши на нем и не сиди в этом канале. Не представляю себе кана...
Aleksandr Druzhinin
13
Карта сайта