Как отправлять Триггерные события ежедневно, исключая выходные дни

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

1. На Стартовом экране добавим Ярлык с названием «‎Урок»‎.

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

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

Стартовый экран должен выглядеть примерно так:

2. Добавим экран Проверка по дню недели. На последнем этапе добавим этот экран в настройки Триггерного события, а сейчас займемся его оформлением.

  • Удалим и заново присвоим Ярлык. Если обновлять ярлыки пользователя путем удаления старого ярлыка и назначения нового ярлыка следующим компонентом, то Триггерное событие сработает столько раз, сколько раз Ярлык будет присвоен заново. Поэтому, в данном случае, ярлык удаляется каждый раз перед новым присвоением.
  • Добавим Запись переменной. В значение переменной dn запишем хелпер для определения порядкового номера дня недели:
    {{formatDate "d"}}
    	
    Далее в Развилке проверим этот порядковый номер для того, чтобы развести пользователей получивших Триггер в выходные и рабочие дни по разным экранам.
  • Добавим переменную dn в поле «‎Имя переменной, откуда Развилка возьмет значение»‎.
  • В настройках Развилки добавим одну цель с типом данных Регулярное выражение и добавим регулярное выражение для чисел от одного до пяти:
    ^[1-5]$
    	
    Такое регулярное выражение переведет пользователя со значением переменной dn в диапазоне от одного до пяти на экран «‎Развилка по дням»‎.
  • Добавим переход для Цели по умолчанию на экран Суббота и воскресенье. Поскольку в эти дни не предусмотрена отправка уроков, на этом экране не должно быть ни одного компонента.

3. Настроим экран «‎Развилка по дням»‎:

  • Добавим переменную day со значением {{day}}. Эту переменную далее проверим в Развилке. В day будет записываться порядковый номер отправляемых экранов или уроков.
  • Добавим day в поле для переменной, откуда развилка возьмет значение.
  • Количество целей соответствует количеству уроков. В нашем примере 10 уроков, поэтому создадим 9 целей и одну Цель по умолчанию для первого дня, т.к. в первый день рассылки у пользователя нет проверяемой переменной.

В Цели 1 — значение должно быть 1 и переход на экран со вторым уроком, в Цели 2 — значение должно быть 2 и переход на экран с третьим уроком, в Цели 3 — значение должно быть 3 и переход на экран с четвёртым уроком и т.д.

4. Создадим 10 экранов по числу уроков. Каждому экрану присвоим переменную со значением, которое соответствует номеру урока. Кроме того, на каждом из этих экранов будет добавлен текст, который будет приходить пользователю в каждый из рабочих дней.

5. Отдельно оформим экран для финальной рассылки. На этом экране удаляем все переменные пользователя и Ярлык. Это необходимо для того, чтобы после отправки последнего урока Триггерное событие больше не срабатывало и уроки не отправлялись.

6. Создадим Триггерное событие, которое будет отправляться ежедневно в 9 утра. Однако, если вам требуется изменить время, вы можете указать желаемое время для отправки.

В начало ↑