Пример Бота для записи на услугу на Google App Script от iMakeBots.ru
t.meНе мог не попробовать потестировать Google App Script в паре с Google Calendar. Было интересно также поработать в JavaScript с объектами класса Date
. Есть конечно нюансы, к которым привыкаешь быстро, но в начале вообще не мог понять откуда выпадают исключения? Почему не работает? ...
На самом деле все просто, нужно читать мануалы - там все расписано.
Получился бот для записи на услугу.
При старте пользователю выводиться информация в текстовом формате, можно прикрепить картинку. Кнопки Записаться и Мои записи.
Что было интересного в этом проекте:
Ну конечно же это форма записи, которая состоит из 5 шагов:
- Выбор даты
- Выбор времени
- Телефон
- ФИО
- Выбор типа оплаты
При выводе шага выбора даты, нужно выводить дни месяца в формате календаря

Необходимо было обязательно учесть некоторые моменты:
- По каждому дню проверить наличие времени для записи
- Учесть на какое максимальное количество дней возможна запись, в моем примере это 90 дней вперед
- Учесть текущее время при проверке, чтобы не показывать текущий день если в нем например уже нет времени для записи
Режим работы
workHours: ["09:00", "17:00"],
serviceDurationInMinutes: 30,
afterToday: 90
где:
- workHours - это режим работы
- serviceDurationInMinutes - длительность услуги в минутах
- afterToday - на сколько дней вперед от текущей даты можно записаться
Выходные и обеденный перерыв можно указать в самом Google календаре (используйте возможности повтора события), при выводе формы в боте это будет учтено.
Установка бота
Из новых настроек, которых нет в предыдущих примерах (в других статьях) появился только идентификатор календаря calendar: ""
, который по умолчанию равен логину учетной записи Google, если вы создадите новый календарь в учетной записи Google, искать нужно в настройках календаря в разделе Интеграция календаря
/ Идентификатор календаря
В остальном также как и в установке примера Бот-магазин - в статье есть видео-инструкция.
Откройте бот @iMakeBot, нажмите кнопку Старт/Start. Следуйте инструкциям бота.
Доброго времени суток, для чего нужен файл BotAppointment с настройками роутера, куда его?
При первой отладке initApp выводит
Invalid argument: id