Telegram Bot, встроенная кнопка - PullRequest
0 голосов
/ 07 июня 2018

Как определить, что встроенная кнопка нажата и как получить callback-данные, используя библиотеку pengrad / telegram-bot-api?У меня есть этот код для отправки сообщения с кнопкой встроенной клавиатуры

private void approveAdmin(User u){
    User admin = userService.findByUserRole("ROLE_ADMIN");
    SendMessage sm = new SendMessage(admin.getChatId(),
            "Do you approve user: "+u.getfName()+" "+u.getlName()+" as admin?");
    sm.replyMarkup(new InlineKeyboardMarkup(new InlineKeyboardButton[]
            {new InlineKeyboardButton("Approve user.").callbackData(u.getIdUser().toString())}));
    BOT.execute(sm);
}

, но как обработать обновление с встроенной кнопки?

1 Ответ

0 голосов
/ 07 июня 2018

ниже фрагмента может помочь вам:

GetUpdatesResponse updatesResponse = bot.execute(new GetUpdates());
List<Update> updates = updatesResponse.updates();
for (Update update : updates) {
    CallbackQuery callbackQuery = update.callbackQuery();
    if (callbackQuery != null)  {
        //use the callbackQuery object peroperties to provide the appropriate response
    }
    //to make the update handler fully functional, make sure to check other types of messages
}
...