Как сделать кнопку для телеграм бота на java

Рейтинг: -1Ответов: 1Опубликовано: 14.02.2023

Не могу найти как это сделать на java, версия telegram bot api 6.4.0

Ответы

▲ 0

Нашёл

@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