Бот, кикающий дезертиров из закрытки
Автоматизация обработки заявок в закрытую группу и сверки списков
Я digital-продюсер студии комиксов Рамбутан-Studio. Мой проект – это экосистема из нескольких пабликов, среди них – закрытая группа «Рамбутан-Studio: Райское наслаждение» с материалами 16+ и 18+.
Чтобы попасть в закрытку, нужно соблюдать важное условие: ранее надо было быть подписанным на основной паблик, сейчас – быть доном основного паблика (я расскажу про реализацию обоих вариантов).
До того, как я начала пользоваться сервисом TargetHunter.Moderator, мне приходилось вручную проверять подписку на основной паблик каждого нового пользователя, кидающего заявку в закрытку. Когда непрерывно крутилась реклама, я не успевала разгребать поток заявок, льющихся в закрытку. Тогда я создала бота, который забрал на себя эту нудную задачу.
Содержание:
Как пускать в закрытку только подписчиков основы
Как пускать в закрытку только донов основы
Как комбинировать списки
Реализация бота, автоматизирующего вход в закрытку и выход из неё в Рамбутан-Studio
Сколько это удовольствие стоит
Как пускать в закрытку только подписчиков основы
Несмотря на кажущуюся простоту задачи, для неё пришлось создать целую цепочку ботов и даже чат.
Бот в основном паблике 1:
Ботов в закрытке 3:
Бот-Одобрялка
С ним всё просто: бот в закрытой группе, триггерится на запрос в закрытку. Мы проверяем, подписан ли пользователь на основной паблик, нет – отклоняем, да – одобряем.
Бот-Оповещалка о дезертире
Этот бот состоит из нескольких частей. Первая его часть – в основном паблике. Триггерится на отписку пользователя. Чтобы связать между собой триггеры двух разных пабликов, мне пришлось создать служебный чат.
Чтобы не засорять чат лишними сообщениями, я проверяю, подписан ли сбежавший пользователь на закрытку. В чат от лица основного паблика приходит оповещение с тегом сбежавшего пользователя.
Вторая часть этого бота – в закрытке. Закрытка триггерится на входящее сообщение, которое пришло из служебного чата. Проверяется наличие упоминания пользователя (и доп.текст, если у вас в этом чате есть другие служебные уведомления), сообщается об исключении пользователя из группы (сообщение служебное и полезно для отладки, можете его не использовать), а далее (важный момент!) мы переносим упомянутого пользователя в другой бот (иначе бот будет пытаться исключить из закрытки ваш основной паблик, который написал сообщение с упоминанием).
Вот так это выглядит в чате:
Бот-Удалялка
Последняя часть бота активируется предыдущим ботом. В ней всего 1 шаг – исключение пользователя из закрытой группы.
Как пускать в закрытку только донов основы
С пропуском не подписчиков, а донов, задача слегка усложняется и количество вспомогательных ботов увеличивается: теперь в основе появился ещё один бот
Бот-секретарь и Бот-Одобрялка
С одобрялкой донов чуть сложнее: так как проверка на донов происходит только в рамках одного сообщества, нам надо интегрировать списки между двумя группами.
Для этого создаём в основном паблике список «Доны» и настраиваем его автоматическое пополнение через дополнительного бота-секретаря в основном паблике.
Далее аналогично, как и в прошлый раз: бот в закрытой группе триггерится на запрос в закрытку. Только теперь мы проверяем, есть ли пользователь в списке донов основы. Нет – отклоняем, да – одобряем.
Бот-Оповещалка о дезертире
Бот состоит из нескольких частей и аналогичен боту, который был описан в варианте с подписчиками. Но обратите внимание, что в первая часть бота в основном паблике триггерится на отписку от донов. А ещё в ней добавляется 3-ий шаг: он удаляет пользователя из списка донов в TargetHunter (напомню, что это нужно для синхронизации списков между двумя сообществами).
Далее вторая часть бота, чат и бот-Удалялка выглядят аналогично варианту с подписчиками.
Как комбинировать списки
В связи с некоторыми особенностями сервиса VK Donut, я пускаю в закрытку не только донов.
Существует 4 категории подписчиков, для 3 из которых созданы списки:
- Мега VIP Создатели: могут выходить из закрытки и возвращаться в неё без привязки к донату и подписке на основной паблик
- Мега VIP Сотрудники: могут выходить из закрытки и возвращаться в неё без привязки к донату, но должны быть подписаны на основу (список содержит в себе и создателей)
- VIP (олды, которые подписывались на закрытку до новых правил + призовые места): могут находится в закрытке бесплатно до тех пор, пока не выйдут из неё или из основного паблика (что автоматически удалит их из закрытки)
- Остальные подписчики закрытки (те, кто может находится в закрытке только пока является доном основы): при отказе от донатной подписки в основе или при отписке от основы, автоматически исключаются из закрытки. Если они продолжают оставаться донами, то при подписке на основу, они снова могут вступить в закрытку.
Иностранцы не могут пользоваться VK Donut, поэтому для них (и в целом для других пользователей тоже) я сделала возможность выиграть проходку в закрытку в список VIP при победе в различных наших активностях и конкурсах.
Вы же можете реализовать данный сценарий иначе и расширить число категорий, если хотите принимать оплату за доступ к закрытой группе не только через VK Donut. Например, одним из триггеров на одобрение заявки в закрытую группу может стать получение оплаты через интеграцию с платёжной системой.
Реализация бота, автоматизирующего вход в закрытку и выход из неё в Рамбутан-Studio
Всего для реализации необходимого сценария в Рамбутан-Studio понадобилось 3 бота в основе и 4 бота в закрытке.
Боты в основе:
Боты в закрытке:
Бот-секретарь и Бот-Одобрялка
Бот-секретарь пополняет список «Доны» в основном паблике, реагируя на триггер новой донатной подписки.
Бот-одобрялка триггерится на запрос в закрытку. Мы проверяем, есть ли пользователь в списке донов основы. Да – проверяем подписку на основу, при её наличии – одобряем, а если её нет – отклоняем. Если пользователь не дон, то мы последовательно проверяем два списка – сотрудники и призовые, также вторым условием проверяя подписку на основу. Если пользователя не оказалось ни в каком из этих списков – отклоняем.
Бот-Оповещалка о дезертире
Бот состоит из нескольких частей. Первая часть бота в основном паблике триггерится на отписку от донов. Мы проверяем у сбежавшего подписку на закрытку, а затем проверяем, чтобы он не был одним из сотрудников или VIP (эти пользователи также могут оформлять донатную подписку, но они имеют право на доступ к закрытке и без оформления такой подписки), и отправляем уведомление в чат. А 4-ий шаг удаляет пользователя из списка донов в TargetHunter (напомню, что это нужно для синхронизации списков между двумя сообществами).
Также похожий бот триггерится на отписку от паблика. Мы опять проверяем подписку на закрытку. Если пользователь находится в списке олдов/призовых, то его исключают из списка (у нас есть условие, что олды могут сидеть в закрытке до тех пор, пока не отпишутся от неё) – теперь при повторной отправке заявки он не сможет попасть в закрытку, пока не станет доном.
В чат от лица основного паблика приходит оповещение с тегом сбежавшего пользователя.
Вторая часть этого бота – в закрытке. Закрытка триггерится на входящее сообщение, которое пришло из служебного чата. Мы переносим упомянутого пользователя в другой бот-удалялку.
Бот-Удалялка
Последняя часть бота активируется предыдущим ботом. В ней всего 1 шаг – исключение пользователя из закрытой группы.
Бот-Исключалка
Так как у нас есть условие, что олды могут сидеть в закрытке до тех пор, пока не отпишутся от неё, то при выходе из закрытки мы удаляем пользователя из VIP-списка. Теперь при повторной отправке заявки он не сможет попасть в закрытку, пока не станет доном.
Сколько это удовольствие стоит?
Самое крутое, что автоматическое одобрение заявок вы сможете реализовать даже на бесплатном тарифе TargetHunter.Moderator! Автоматическую сверку списков и автоматическое удаление пользователя вы сможете реализовать на бесплатном тарифе, если у вас не предполагается большого потока подписчиков.
Но функции для более сложных сценариев (например, сверка списка, находящегося в Google Таблицах, или проверка оплаты через внешний сервис) реализуются только на платном тарифе.
Я могу сделать вам простенького (или сложненького) бота, а мы с командой Рамбутан-Studio можем сделать красивый тест, сюжетный квест или интерактивную новеллу с помощью чат-ботов!
