Решил я изучать Telegram Bot Api, и в ходе моего изучения я столкнулся с проблемой, ответа на которой не смог найти в интернете. else if(update.hasCallbackQuery()) не работает, при нажатии на кнопку ничего не происходит. Я решил найти проблему, попробовав создать url кнопку , которая просто переводит по ссылке - она работает, поэтому проблему именно с update.hasCallbackQuery(), дальше код он просто не пропускает. Помогите пожалуйста, уже 3 часа долблюсь с этой проблемой
@Override
public void onUpdateReceived(Update update) {
if(update.hasMessage() && !update.getMessage().getText().isEmpty()){
if(update.getMessage().getText().equals("/start")){
SendMessage sendMessage = new SendMessage();
sendMessage.setChatId(update.getMessage().getChatId());
sendMessage.setText("Нажмите на кнопку");
InlineKeyboardMarkup inlineKeyboardMarkup = new InlineKeyboardMarkup();
List<List<InlineKeyboardButton>> rowsLine = new ArrayList<>();
List<InlineKeyboardButton> rowLine = new ArrayList<>();
InlineKeyboardButton inlineKeyboardButton1 = InlineKeyboardButton.builder()
.text("BI")
.callbackData("2")
.build();
rowLine.add(inlineKeyboardButton1);
rowsLine.add(rowLine);
inlineKeyboardMarkup.setKeyboard(rowsLine);
sendMessage.setReplyMarkup(inlineKeyboardMarkup);
try{
execute(sendMessage);
}
catch(TelegramApiException e){
e.printStackTrace();
}
}
else if(update.hasCallbackQuery()){
CallbackQuery callbackQuery = update.getCallbackQuery();
Long chatId = callbackQuery.getMessage().getChat().getId();
String data = callbackQuery.getData();
SendMessage sendMessage = new SendMessage();
sendMessage.setChatId(chatId);
if(data.equals("2")){
sendMessage.setText("Ok");
}
try{
execute(sendMessage);
}
catch (TelegramApiException e){
e.printStackTrace();
}
}
}
}