Добро пожаловать или Посторонним вход воспрещен.
Всем привет! Хотели ли вы устроить ценз в беседе, например, чтобы возраст участников был 18+, а всех кто меньше возрастом исключало бы автоматом? Автопилот это умеет.
Идем же скорее настраивать, но для начала немного теории.

«В Контакте» позволяет:
- скрывать дату рождения.
- показывать дату рождения.
- показывать только день и месяц.
Эта информация пригодится при настройке.
Создаем команду «!Проверка на возраст возраст есть»:
1) Событие: Добавился в беседу с сообществом.
Дополнительно рекомендую добавить условия:
- Переменная
%peer_id%
содержит2000000007,2000000001
— это условие позволит проверить, что событие запущено в нужной беседе. - Не пытайтесь найти ID в самой беседе! ID привязан к пользователю и разный для разных пользователей / ботов. Чтобы узнать ID, добавьте бота в беседу и запустите сообщением в беседе команду, в которой будет добавлено сообщение с переменной
%peer_id%
. Вы можете отправить его как в беседу, так и в личку, это не важно. - Важно то, что вы получите число > 2 000 000 000. Например,
2000000001
. Именно такие числа Автопилот воспринимает как ID беседы. Если число будет меньше 2 млрд., то сообщение будет уходить «сотруднику»!
Переменная %bdate%
не равно 0
— это условие позволит проверить, указан ли у пользователя день рождения. Делаем условие %bdate%
равно 0
нажимаем на кнопку «Если не»(условие делается негативным)



Важно!
Если у человека настройками скрыта дата рождения, то
численная переменная %bdate%
будет равна 0
Далее нажимаем «Добавить секцию»
и добавляем событие «добавлен в список подписчиков». Переключаем переключатель в «публичный рейтинг» и записываем номер списка, у меня это 159918

Еще раз жмем«Добавить секцию»
и добавляем еще событие «добавлен в список подписчиков», переключатель в «публичный рейтинг» — номер списка «забаненные», у меня это 160935

Действия:
В действиях сначала сформируем несколько временных переменных, которые просто будут хранить часто-используемые данные.

1)Временная переменная %year% = {array}%bdate%|3|val|.{/array}
— получаем год рождения пользователя. Подробнее о массивах читайте в статье.

2)Временная переменная %age% = {math}{date}%G{/date}-%year%{/math}
— получаем возраст пользователя. Подробнее:
{date}%G{/date}
— переменная{date}-
получает текущий год, параметр%G
— означает что получаем только год. Подробнее читать здесь.- далее c помощью переменной
{math}
— отнимаем текущий год от года рождения пользователя, получая возраст.
Дальше при помощи условной переменной, формируем номер списка тех, кто скрыл возраст.
У меня в список попадают пользователи, чей возраст не достиг 18 и больше 70 лет, например. Встречались пользователи, которые ставили себе, например 103 года.


3)Условная переменная %testage%
= 159918
, если:
- если численная переменная
%age%
не больше18
- ИЛИ численная переменная
%age%
не меньше70
- ИЛИ
%testage%
= 0
4) Добавлен в список %testage%
и равен 1.

Теперь с помощью условной переменной %killkids%
формируем запускать ли событие для изгнания пользователя из беседы.

Если у вас нет еще такой команды, настройте блок как показано выше, а номер события впишите потом. Для примера номер события 159928.
5)Условная переменная %killkids%
= 159928
, если:
- если численная переменная
%age%
не больше18
- ИЛИ
%killkids%
=0
6) Действие «выполнить событие» с номером %killkids%

ВАЖНО!
В предыдущем блоке действий мы формировали переменную %killkids%
которая либо запускает событие изгнания, либо нет. Если номер события = 0
, то событие не запускается.
7) ОПЦИОНАЛЬНО: Отправляем сообщение сотрудникам, кто пришел в чат

Создаем команду «!Проверка на возраст возраст скрыт»:
Важно!
В этой команде будут использоваться события из предыдущей команды. Для того, чтобы добавить событие, нажимаем на кнопку «Найти в каталоге», либо копируем номер события из предыдущей команды и вставляем в поле ввода.
Добавляем событие:
- 1) Событие: Добавился в беседу с сообществом.
- 2) Условие
%peer_id%
содержит2000000007,2000000001
- 3) Условие
%bdate%
равно0.
Действия:
1) Добавить в список с номером 159918
и равен 1.

2) ОПЦИОНАЛЬНО: Отправляем сообщение сотрудникам, что в чат пришел человек без даты рождения.

Создаем команду «!Исключаем до 18»:
1) Событие: «Добавлен в список подписчиков». Записываем номер списка, и возвращаемся к команде с условной переменной %killkids%
.

Действия:
1) Отправить сообщение в беседу с номером %peer_id%
с текстом:
%first_name%,{rand}детям вход запрещен|завтра в школу, иди спать{/rand}.
Переменная {rand}
— позволяет выбрать случайным образом один из вариантов текста и отправить его подписчику. Подробнее в статье:

2) Изгоняем подписчика действием «Исключить участника беседы»

3) ОПЦИОНАЛЬНО: Отправляем сообщение сотрудникам, что из чата удалили человека.

4) Удаляем пользователя из скрытого списка, действием «Отменить событие / Команду (Удалить из списка)»

5) Добавляем подписчика в список «забаненных» — список с номером 160935
и равен 1.

Создаем команду «!Проверка скрытый список»:
Важно!
Команда делается по желанию для модераторов, чтобы они могли проверить людей в списке. Ключевое слово можно придумать любое. В примере это 12345
1) Событие: Написал сообщение с текстом равным 12345
2) Добавляем условие :«Сотрудник аккаунта, чтобы команду мог запустить только Администратор сообщества, либо тот, у кого есть разрешение.»



Действия:
1) Отправить сообщение в ответ ссылку на рейтинг:

Создаем команду «!Проверка на вход забаненных»:
Важно!
Тут используются события и действия из предыдущих команд.
1)Добавляем событие:
- 1) Событие: Добавился в беседу с сообществом.
- 2) Условие
%peer_id%
содержит2000000007,2000000001
- 3) Событие: Добавлен в список
160935
(«забаненные»)
Действия:
1) Изгоняем подписчика действием «Исключить участника беседы»
Тестируем.


На этом все. Творческих взлётов.
Вернуться на главную страницу инструкций.