Как сделать кнопку для телеграм бота на java
Источник: Stack Overflow на русском
Нашёл
@Bean
public ReplyKeyboardMarkup replyKeyboardMarkup() {
ReplyKeyboardMarkup replyKeyboardMarkup = new ReplyKeyboardMarkup();
//следующие три строчки могут менять значение аргументов взависимости от ваших задач
replyKeyboardMarkup.setSelective(true);
replyKeyboardMarkup.setResizeKeyboard(true);
replyKeyboardMarkup.setOneTimeKeyboard(false);
//добавляем "клавиатуру"
replyKeyboardMarkup.setKeyboard(keyboardRows());
return replyKeyboardMarkup;
}
@Bean
public List<KeyboardRow> keyboardRows() {
List<KeyboardRow> rows = new ArrayList<>();
rows.add(new KeyboardRow(keyboardButtons()));
//создаем список рядов кнопок из списка кнопок
return rows;
}
@Bean
public List<KeyboardButton> keyboardButtons() {
List<KeyboardButton> buttons = new ArrayList<>();
buttons.add(new KeyboardButton("Команда"));
buttons.add(new KeyboardButton("Команда2"));
//создаем и заполняем список кнопок
return buttons;
}
Далее добавляем ReplyKeyboardMarkup в SendMessage: message.setReplyMarkup(replyKeyboardMarkup())
.
Хочу заметить, что сообщения отправленные боту будут эквивалентны надписям на кнопках, по крайне мере на этой версии tg bot api