Ограничение доступа пользователя в раздел бота по количеству обращений

Мы столкнулись с задачей, когда нужно было ограничить доступ пользователей в раздел бота в заданный период. Если точнее, то задача была в ограничении количества входа в чат с оператором до 5 раз в месяц.
Подобный функционал часто интересен организациям, предлагающим пакетные консультационные услуги.

Теперь мы расскажем подробно о реализации в боте.

1. После оплаты услуг нужно установить пользователю ярлык. Мы предлагаем назвать его «Обнуление».

2. Добавляем экран, на котором в переменную записывается значение {{\null}}. В примере имя переменной qChat, экран «Чат обнуление». Таким образом мы стираем значение переменной, которое присвоилось ранее.

Справка: записываем компонентом Запись. Подробнее о компоненте здесь.

3. Добавляем Триггерное событие по ярлыку «Обнуление», срабатывающее через заданный период. В данном случае период — 1 месяц или 30 дней. Срабатывать по триггеру должен экран «Чат обнуление».

Справка: настройка функции описана здесь.

4. При выборе пользователем раздела чата с оператором, он переходит на экран Старт связки. На экране находится развилка, которая берёт значение из переменной qChat. Записываем условие: если значение переменной qChat соответствует регулярному выражению [^123], то пользователь не может перейти в чат, в остальных случаях — может.

Справка: регулярное выражение [^123] исключает значения от 1 до 5 включительно. Подробнее о составлении регулярных выражений здесь.

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

6. Цель по умолчанию ведёт на экран с чатом. Перед чатом нужно записать в переменную qChat значение {{\inc}}. Таким образом мы будем считать, сколько раз пользователь зашёл в чат.

В конструкторе созданные экраны выглядят так:


Для выбора другого раздела нажмите на категорию (слева).