Ботджет "Календарь" 📆 для Leadtex

Ботджет "Календарь" 📆 для Leadtex

Максим Носко

Сервисы MAXONLINE.RU

БотДжеты (BotJets) - готовые модули для Telegram-ботов со встроенной функциональностью и API.


Календарь в Телеграм-боте на Leadtex одним блоком HTTP


Ботджет "Календарь" позволяет вывести календарь в Telegram-боте на конструкторе Leadtex с днями-кнопками и сохранить дату, которую выбрал пользователь, для использовании в других блоках сценария.


Настройка ботджета "Календарь" в своем боте




Что может ботджет "Календарь"?

  • вывод календаря в чат-бот;
  • листание месяцев вперед и назад;
  • смена года;
  • выбор конкретной даты.


Результат выбора даты:

  1. в чат выводится сообщение: "Выбрана дата: 08.06.2023";
  2. выбранная дата сохраняется в локальную переменную "calendar_Date";
  3. управление в сценарии автоматически передается блоку, id которого будет указан в настройках блока HTTP.


Инструкция по настройке


Добавить в сценарий блок HTTP-запрос

Добавить в сценарий блок HTTP-запрос


Настройки блока HTTP-запрос

Копируйте значения из строк ниже и вставляйте в настройки своего блока HTTP.


URL : https://maxonline.ru/botjet/Calendar/v1/

Метод : "POST".

Заголовки : нет

Body : x-www-form-urlencoded

Параметры запроса

❗ Важно точно прописать имена параметров запроса (левая колонка) и имена переменных - значений параметров (правая колонка).

token
параметр для отправки API token из BotFather. На картинке ниже указана глобальная переменная {{ token }}, в которой сохранен API token. Имя переменной может быть любым, главное, чтобы в ней было нужное значение. Также можно в правой колонке указать само значение API token, без использования переменной.

chat_id = {{ telegram_id }}
telegram-id контакта (пользователя чат-бота). Используется глобальная константа {{ telegram_id }}

command = {{$calendar_command}}
управляющие команды ботджету. Используется локальная переменная {{$calendar_command}}. Переменная получает свое значение в графе "Записать ответ в пользовательскую переменную". Удаляется после каждого запроса.

messid = {{$calendar_message_id}}
id сообщения. Используется локальная переменная {{$calendar_message_id}}. Переменная получает свое значение в графе "Записать ответ json в переменные". Удаляется после выбора конкретной даты в календаре.


Timeout : по-умолчанию

Записать ответ json в переменные включить

Соотношение переменных : result.message_id ➡ calendar_message_id


Обработать ответ с помощь JavaScript : включить

Скопировать и вставить код:


var jsCommand=getContactVariable("calendar_command");if(jsCommand){var jsCompareResult=jsCommand.match(/^\d{2,2}\.\d{2,2}\.\d{4,4}$/);jsCompareResult&&(setContactVariable("calendar_Date",jsCommand),goToBlock(),deleteContactVariable("calendar_command"),deleteContactVariable("calendar_message_id"))}deleteContactVariable("calendar_command");


После вставки код будет в одну строку - это нормально.


Записать ответ в пользовательскую переменную : включить

Имя переменной : calendar_command
должно совпадать с именем переменной в 3 строке раздела "Body".

Повторный вопрос : включить


Переход на блок сценария после выбора даты



  1. Откройте настройки блока сценария, которому должно быть передано управление после выбора даты в Календаре.
  2. В самом низу панели настроек следующего блока есть "ID ....".
  3. Скопируйте цифры после ID. Только цифры!
  4. В коде JavaScript найдите фразу "goToBlock()". Между скобками вставьте скопированный ID следующего блока.
Вставьте в JavaScript ID блока сценария, который должен отработать после выбора даты


❗ Важно. От блока HTTP-запрос не должно идти связей к следующим по сценарию блокам.

Группа Телеграм для вопросов и поддержки: https://t.me/botjets


Report Page