Как отправлять Триггерные события ежедневно, исключая выходные дни
Данный сценарий будет полезен в случае, если пользователь должен получать рассылку Триггерным событием каждый рабочий день, исключая выходные — субботу и воскресенье.
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 утра. Если вам требуется изменить время, вы можете указать желаемое время для отправки.