← Примеры сценариев

Бот называет клиенту свободные окна

Календарь отдаёт занятое время; свободное сценарий считает сам и называет часами.

Как выглядит сценарий

«Когда вы свободны»
Календарь
Занятое время▶
Свободные окна▶
Ответ▶
Ответ▶
  • Исполнение + данные
  • Данные
Открыть у себя →

«Когда вы свободны?» — вопрос, на который менеджер отвечает, открыв календарь и посчитав в уме. Бот может отвечать сразу, но между вопросом и ответом есть шаг, которого не ждёшь: календарь умеет сказать только когда вы заняты.

Что внутри

  1. «Когда вы свободны» — вход.
  2. Занятое время запрашивает у календаря интервалы занятости на день.
  3. Свободные окна — нода с кодом. Она берёт рабочий день, режет его на часы и выбрасывает те, что пересекаются с занятыми.
  4. Ответ печатает оставшиеся часы.

Это единственный пример на витрине, где без кода не обойтись, и причина именно такая: арифметику интервалов модель делает медленнее и ошибается, а код считает точно и стоит нисколько.

Что настроить под себя

  • Рабочий день и шаг — три константы в первой строке кода: начало, конец, длина окна.
  • Адрес календаря в ноде занятости.
  • Часовой пояс. Код считает в UTC, как отдаёт календарь. Если показываете окна клиенту, переведите их в его пояс — иначе он придёт на три часа раньше.
  • Несколько календарей. Занятость можно спросить сразу по нескольким; тогда свободным будет то, что свободно во всех.

Что подключить

Календарь по CalDAV. Ответ на свободные окна доступен и без прав на запись: сценарий ничего не создаёт, только читает.