Чат-боты
January 23, 2023

Хотите создать красивый календарь в Salebot, но не имеете знаний программирования? Не беда! Существует решение, которое позволяет создать календарь без необходимости программирования

Статья написана совместно с https://t.me/mihail_plavko

Обязательно посмотрите. Новая версия календаря

Промокод на 10 бесплатных дней в проекте salebot: asxaba1

Мой чат-бот вакансий - https://t.me/infobizaa_bot


Можно приобрести версию календаря, содержащую скрипт на Python, который можно свободно использовать в своих проектах без каких-либо ограничений. Подробности доступны здесь: https://t.me/asxabal/300

Календарь в кнопках

Если вы работаете над проектом, в котором нужно позволить пользователям выбирать дату, например, для записи на консультацию, то вы знаете, как сложно это может быть.

С помощью python или другими решениями очень сложно это реализовывать + еще сложнее указать занятые даты

Решение от разработчика Михаила поможет вам https://t.me/mihail_plavko

И в этом статье будет инструкция по использованию его разработки

С помощью такого решения достаточно просто и удобно создавать подобные календари


Если вас интересуют различные инструкции и советы, посетите мой канал в Telegram - https://t.me/asxabal. Там вы найдете множество полезной информации и материалов для обучения.


Для начала вам нужно написать боту

https://t.me/tg_cust_calendar_bot?start=377884669

Он даст вам пароль и id

бесплатно у вас будет 300 активаций

Сперва создаем блок для календаря

Этот блок может быть не состояния с условием или первостепенная проверка условия

Тут уже как вам нравится, главное что в блоке должен быть post-json запрос и калькулятор, а тип блока не имеет значения

Условие ставим такое

Календарь;arrow_right_year;arrow_left_year;arrow_right_month;arrow_left_month

Календарь - это первое слово в условиях активации блока, оно может быть любое

Текс

Выберите дату 🙌

Этот тот же блок.

Тип запроса - POST-json

URL запроса - https://script.google.com/macros/s/AKfycbwfZgUwQj3IevWNpAsYiE2b7Lb0CYbirTdggMAjcyImPLLR7AqhLRupt_fm8Dc79KrL_w/exec

Сохраняемые значения -
result|calendar_array->date_button

JSON параметры -
{"id":"ВАШ ID (СКАЖЕТ БОТ)","password":"ВАШ ПАРОЛЬ (СКАЖЕТ БОТ)", "proj_numb":"1", "year_numb":"#{year}", "month_numb":"#{month}", "booked_dates_array":"#{mas}", "custom_booked_text":"❤", "use_salebot_format":"1"}

Здесь proj_numb это номер вашего проекта
Если вы в первый раз настраиваете подобный календарь, то номер вашего проекта будет 1

year_numb - год

month_numb - номер месяца

booked_dates_array - занятые даты для записи

custom_booked_text - какой смайлик ставить в занятых датах

use_salebot_format - возвращение сейлботовской клавиатуры

Дальше эти настройки еще дополняем в клавиатуре

mas = ["02.01.2023", "03.01.2023"]


/*текущий месяц*/
current_month = get_datetime("%m")

/*год*/
year = if(question != "arrow_right_year" and question != "arrow_left_year", 2023, if(question == "arrow_right_year", year + 1, if(question == "arrow_left_year", year - 1, 2023)))

/*месяц*/
month = if(question != "arrow_right_month" and question != "arrow_left_month", current_month, if(question == "arrow_right_month", month + 1, if(question == "arrow_left_month", month - 1, current_month)))

mas - это у нас занятые даты

там логика в том что, если человек в первый раз активировал блок, то у него год будет 2023
Если нажмет на кнопку направо, то к 2023 прибавится +1
Если нажмет налево, то к 2023 - 1
И тем самым года можно удобно листать

month - эта переменная у нас связана с месяцами

В этой переменной такая же логика как с годами

Если человек первый раз активировал блок, то ему выводится текущий месяц
Если нажимает на кнопку направо, то следующий месяц
Если нажимает на кнопку налево, то предыдущий месяц

current_month - в этой переменной сохраняется текущий месяц в формате цифры

и в расширенных настройках кнопок вводим переменную #{date_button}

Тестируем бота и видим что все супер!

Если вас интересуют различные инструкции и советы, посетите мой канал в Telegram - https://t.me/asxabal. Там вы найдете множество полезной информации и материалов для обучения.