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

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

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

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

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

2. После Ярлыка устанавливаем компонент Запись переменной, в котором переменной qChat присваиваем значение {{qChat}}.

3. Добавляем на экран Запись переменной, выбираем тип NULL. В примере имя переменной qChat, экран Чат обнуление. Таким образом, мы стираем значение переменной, которое присвоилось ранее.

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

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

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

7. Цель по умолчанию ведёт на экран с чатом. Перед чатом, в Значении нужно прибавить 1 к переменной qChat: {{sum qChat 1}}. Таким образом, мы будем считать, сколько раз пользователь зашёл в чат.

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

В начало ↑