Данная статья предназначена для продвинутых пользователей, знакомых с запросами к серверу и работой с api telegram
О чем данная статья
Данная статья расскажет, как создать для бота в телеграм динамическое меню в inline-клавиатуре. Например, как такое:
Что понадобится для реализации
Для настройки подобного меню понадобится
- Умение работать с блоком "Запрос к серверу"
- Запрос для отправки сообщения в телеграм
- Запрос для редактирования сообщения в телеграм
Подробнее про блок "Запрос к серверу"
Подробнее про методы работы с телеграм
Пример реализации
Разберем по шагам пример реализации такого бота
- Первым блоком в схеме будет блок результат, в котором мы объявим 2 переменные:
user_id - идентификатор пользователя телеграм (для "текущего" пользователя указываем {messengerUserId})
bot_token - токен бота в телеграм. Подробнее в статье про работу с интеграцией с телеграм. - Далее настраиваем запрос к серверу с отправкой сообщения с клавиатурой
Выделенные поля заполните сначала значение "123". Нужно значение установим на следующих шагах - Сохраняем id сообщения в стрелке из блока запроса
message_id = body.result.message_id - Следующим шагом создаем зацикленный блок вопроса и пустой блок
- Далее настраиваем конструкции для основного меню, Подменю 1, Подменю 2(страница 1), Подменю 2(страница 2), Подменю 2(страница 3)
Каждая конструкция состоит из пустого блока с подписью, запроса к серверу, телепорта в блок вопроса из прошлого шага
Стрелки из блоков запроса в телепорт: успешно 200 без сохранения каких-то переменных - Сначала создадим такие конструкции с незаполненными запросами к серверу
- Скопируйте и запишите для себя идентификаторы каждого пустого блока из каждой конструкции
- Введите в поля из шага 2 идентификаторы пустых блоков Подменю 1 и Подменю 2(страница 1) соответственно
- Настройте блоки запроса к серверу в каждой конструкции, указывая нужные по содержанию текста идентификаторы блоков
Ниже настройки запросов из каждой конструкции по порядку (не забывайте указывать нужные id пустых блоков) - Готово!