Сервисы MAXONLINE.RU
  • Сервисы MAXONLINE.RU
  • Быстрый старт
  • 🧑‍🏫Поддержка
  • Инструкции для Leadtex
    • 👽БотДжеты
      • 📅Календарь
        • 👷‍♂️Как работает
        • ⬆️Версии ботджета "Календарь"
        • 🎻Как использовать
        • ⚙️Инструкция по настройке Календаря
          • 📹Видео инструкция по настройке
          • ⚠️Возможные ошибки и исправление
      • ☑️Множественный выбор
        • 👷‍♂️Как работает
        • ⬆️Версии ботджета "Множественный выбор"
        • 🎻Как использовать
        • ⚙️Инструкция по настройке "Множественного выбора"
Powered by GitBook
On this page
  • Добавить в сценарий блок HTTP-запрос
  • Настройки блока HTTP-запрос
  • URL
  • Body
  • Timeout
  • Отправлять в запросе данные контакта
  • Записать ответ json в переменные
  • Соотношение переменных
  • Обработать ответ с помощь JavaScript
  • Записать ответ в пользовательскую переменную
  • Повторный вопрос
  • Переход на блок сценария после выбора даты
  1. Инструкции для Leadtex
  2. БотДжеты
  3. Календарь

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

PreviousКак использоватьNextВидео инструкция по настройке

Last updated 4 months ago

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

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

Копируйте фрагменты ниже и вставляйте в настройках своего блока HTTP-запрос.

URL

https://maxonline.ru/botjet/Calendar/v4/

Вы можете встретить в инструкциях ссылки с окончанием "v1" и другими. Это старые версии.

Всегда копируйте ссылку из блока выше. ☝

В нем самая последняя версия ботджета.

Метод : "POST".

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

Body

x-www-form-urlencoded

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

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

key
value
Обязат.
Описание

token

token из BotFather

да

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

chat_id

{{ telegram_id }}

да

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

command

{{$calendar_command}}

да

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

messid

{{$calendar_message_id}}

да

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

hidepast

1

нет

Начиная с v2. Скрыть прошлое. Если добавлен и равен 1, запрещает показ прошедших дней, месяцев и годов. Кнопки прошедших дней будут пустыми и нажатие не приведет к действию.

hidres

1

нет

Начиная с v3. Скрыть результат. Если добавлен и равен 1, отключает вывод сообщения о выбранной дате после нажатия на кнопку дня. Сообщение с календарем исчезнет и произойдет переход в блок сценария, ID которого указан в JavaScript-коде

text

<текстовое сообщение> Например: "Выбери дату брони"

нет

Начиная с v3. Свое сообщение перед календарем. Если параметр не добавлен, то перед календарем будет показано стандартное сообщение: "2023 г. - выбери день:"

setdate

31.12.2023

нет

Начиная с v3. Задать дату, на которой должен открыться Календарь. Дата должна быть в формате ДД.ММ.ГГГГ, например 31.12.2023. Можно подставить переменную, в которой сохранена дата.

Календарь покажет месяц, в котором находится заданная дата.

lang

en

нет

Начиная с v3.1. Вывести календарь на английском. Если lang не указан или его значение "ru", календарь будет на русском. Другие языки не поддерживаются.

opendates

json-строка со списком дат

нет

Вид JSON-строки для пометки дат

Работает только в v4

Json-строка должна содержать ключ "date" и значение даты в формате "ДД.ММ.ГГГГ", которую нужно пометить.

[
    {
      "date": "10.12.2024"
    },
    {
      "date": "11.12.2024"
    }
]

Json-строка может содержать другие элементы "ключ": "значение" внутри объектов { }. Это не влияет на работу ботжета. Важно: обязательно должно быть поле с ключом "date" и значением в виде даты.

Одинаковые значения поля "date" могут встречаться в нескольких объектах { }. Это не влияет на работу ботжета. Если определенная дата встречается в одном объекте { }, или в нескольких, она будет помечена в календаре.

Timeout

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

Отправлять в запросе данные контакта

❌ выключить

Записать ответ json в переменные

✅ включить

Соотношение переменных

result.message_id ➡ calendar_message_id

Обработать ответ с помощь JavaScript

✅ включить

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

var nextBlock=0,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(nextBlock),deleteContactVariable("calendar_command"),deleteContactVariable("calendar_message_id"),deleteContactVariable("opendates"))}deleteContactVariable("calendar_command");

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

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

✅ включить

Имя переменной :

calendar_command

☝ должно совпадать с именем переменной в параметре "command" раздела "Body".

Повторный вопрос

✅ включить

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

  1. Открой настройки блока сценария, которому должно быть передано управление после выбора даты в Календаре.

  2. В самом низу панели настроек блока есть "ID ....". (смотри картинку ☝)

  3. Скопируй цифры после ID. Только цифры!

  4. В коде JavaScript найди в первой фразе "var nextBlock=0" вместо 0 вставь скопированный ID блока.

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

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

Начиная с v4. Поставить метку ":" рядом с датами, указанными в json-строке.

🧑‍🏫Поддержка
Вид JSON-строки для пометки дат
👽
📅
⚙️
Блок HTTP-запрос
JavaScript
Переход на следующий блок сценария
Вставь в JavaScript ID блока сценария, который должен отработать после выбора даты
Page cover image