Данная статья предназначена для продвинутых пользователей, знакомых с запросами к серверу и работой с api telegram

О чем данная статья

Данная статья расскажет, как создать для бота в телеграм динамическое меню в inline-клавиатуре. Например, как такое:

Что понадобится для реализации

Для настройки подобного меню понадобится

  1. Умение работать с блоком "Запрос к серверу"
  2. Запрос для отправки сообщения в телеграм
  3. Запрос для редактирования сообщения в телеграм

Подробнее про блок "Запрос к серверу"

Подробнее про методы работы с телеграм

Пример реализации

Разберем по шагам пример реализации такого бота

  1. Первым блоком в схеме будет блок результат, в котором мы объявим 2 переменные:
    user_id - идентификатор пользователя телеграм (для "текущего" пользователя указываем {messengerUserId})
    bot_token - токен бота в телеграм. Подробнее в статье про работу с интеграцией с телеграм
  2. Далее настраиваем запрос к серверу с отправкой сообщения с клавиатурой
    Выделенные поля заполните сначала значение "123". Нужно значение установим на следующих шагах
  3. Сохраняем id сообщения в стрелке из блока запроса
    message_id = body.result.message_id
  4. Следующим шагом создаем зацикленный блок вопроса и пустой блок
  5. Далее настраиваем конструкции для основного меню, Подменю 1, Подменю 2(страница 1), Подменю 2(страница 2), Подменю 2(страница 3)
    Каждая конструкция состоит из пустого блока с подписью, запроса к серверу, телепорта в блок вопроса из прошлого шага
    Стрелки из блоков запроса в телепорт: успешно 200 без сохранения каких-то переменных
  6. Сначала создадим такие конструкции с незаполненными запросами к серверу
  7. Скопируйте и запишите для себя идентификаторы каждого пустого блока из каждой конструкции
  8. Введите в поля из шага 2 идентификаторы пустых блоков Подменю 1 и Подменю 2(страница 1) соответственно
  9. Настройте блоки запроса к серверу в каждой конструкции, указывая нужные по содержанию текста идентификаторы блоков
    Ниже настройки запросов из каждой конструкции по порядку (не забывайте указывать нужные id пустых блоков)




  10. Готово!
  • Нет меток