Добро пожаловать или Посторонним вход воспрещен.
Всем привет! Хотели ли вы устроить ценз в беседе, например, чтобы возраст участников был 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) Изгоняем подписчика действием «Исключить участника беседы»
Тестируем.
На этом все. Творческих взлётов.
Вернуться на главную страницу инструкций.