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

Для начала, вам нужно определить, в какое место сценария вам нужно поместить проверку. времени. Например, можно поместить эти экраны после интента, в который попадают запросы на разговор с оператором.

Допустим, в вашем сценарии есть глобальные интенты "поговорить с человеком", "переведи на оператора", "пообщаться с менеджером", "бот надоел" и другие. Свяжите эти интенты с блоком HTTP-запрос.



Оформляем запрос

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

метод GET
url

http://tools.aimylogic.com/api/now?tz=Europe/Moscow&format=dd/MM/yyyy

С помощью данного url мы запрашиваем время по Москве.

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

time
Значение

$httpResponse



Вкладки BODY и HEADERS заполнять не нужно.

От варианта Завершен с ошибкой сделайте связь с блоком Текст:

ошибка $httpStatus



От варианта Завершен успешно сделайте связь с блоком Условия.

Сравниваем время

В условиях поместим выражения, которые будут сравнивать текущее время с вашим рабочим графиком. Допустим, ваш график работы с 10.00 до 19.00 по Москве.

Обратите внимание, что важен порядок размещения условий. Бот будет проверять их сверху вниз. Если одно из верхних условий будет выполнено, бот будет игнорировать все остальные. Поэтому сверху помещайте все условия, которые будут определять нерабочее время.

В случае, если ваш график работы с 10.00 до 19.00 по Москве, условия будут следующими:

$time.hour >= 10 && $time.hour <= 19 && $time.weekDay <= 5

это условие будет отрабатывать, если :

час больше 10

и время меньше 19 (то есть, получается, время от 10.00 до 18.59)

и день недели меньше или равно 5. В данном формате дням недели присваиваются числа от 1 до 7. Следовательно, дни недели меньше пяти - с понедельника по четверг, а пять - пятница. Условие будет отрабатывать по будним дням.



Если время рабочее

Свяжем условие $time.hour >= 10 && $time.hour <= 19 && $time.weekDay <= 5 с блоком Перевод на оператора.



Если время нерабочее

Свяжем else с блоком Текст:

В данный момент операторы отдыхают! Рабочее время с 10.00 до 19.00 по МСК.



Готово!
Была ли эта статья полезна?
отменить
Спасибо!