Бот, кикающий дезертиров из закрытки

Автоматизация обработки заявок в закрытую группу и сверки списков

Я digital-продюсер студии комиксов Рамбутан-Studio. Мой проект – это экосистема из нескольких пабликов, среди них – закрытая группа «Рамбутан-Studio: Райское наслаждение» с материалами 16+ и 18+.

Чтобы попасть в закрытку, нужно соблюдать важное условие: ранее надо было быть подписанным на основной паблик, сейчас – быть доном основного паблика (я расскажу про реализацию обоих вариантов).

До того, как я начала пользоваться сервисом BotHunter, мне приходилось вручную проверять подписку на основной паблик каждого нового пользователя, кидающего заявку в закрытку. Когда непрерывно крутилась реклама, я не успевала разгребать поток заявок, льющихся в закрытку. Тогда я создала бота, который забрал на себя эту нудную задачу.

Содержание:

Как пускать в закрытку только подписчиков основы
Как пускать в закрытку только донов основы
Как комбинировать списки
Реализация бота, автоматизирующего вход в закрытку и выход из неё в Рамбутан-Studio
Сколько это удовольствие стоит

Как пускать в закрытку только подписчиков основы

Несмотря на кажущуюся простоту задачи, для неё пришлось создать целую цепочку ботов и даже чат.

Бот в основном паблике 1:

Бот, кикающий дезертиров из закрытки, image #1

Ботов в закрытке 3:

Бот, кикающий дезертиров из закрытки, image #2

Бот-Одобрялка

С ним всё просто: бот в закрытой группе, триггерится на запрос в закрытку. Мы проверяем, подписан ли пользователь на основной паблик, нет – отклоняем, да – одобряем.

Бот, кикающий дезертиров из закрытки, image #3

Бот-Оповещалка о дезертире

Этот бот состоит из нескольких частей. Первая его часть – в основном паблике. Триггерится на отписку пользователя. Чтобы связать между собой триггеры двух разных пабликов, мне пришлось создать служебный чат.

Чтобы не засорять чат лишними сообщениями, я проверяю, подписан ли сбежавший пользователь на закрытку. В чат от лица основного паблика приходит оповещение с тегом сбежавшего пользователя.

Бот, кикающий дезертиров из закрытки, image #4

Вторая часть этого бота – в закрытке. Закрытка триггерится на входящее сообщение, которое пришло из служебного чата. Проверяется наличие упоминания пользователя (и доп.текст, если у вас в этом чате есть другие служебные уведомления), сообщается об исключении пользователя из группы (сообщение служебное и полезно для отладки, можете его не использовать), а далее (важный момент!) мы переносим упомянутого пользователя в другой бот (иначе бот будет пытаться исключить из закрытки ваш основной паблик, который написал сообщение с упоминанием).

Бот, кикающий дезертиров из закрытки, image #5

Вот так это выглядит в чате:

Бот, кикающий дезертиров из закрытки, image #6

Бот-Удалялка

Последняя часть бота активируется предыдущим ботом. В ней всего 1 шаг – исключение пользователя из закрытой группы.

Бот, кикающий дезертиров из закрытки, image #7

Как пускать в закрытку только донов основы

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

Бот, кикающий дезертиров из закрытки, image #8

Бот-секретарь и Бот-Одобрялка

С одобрялкой донов чуть сложнее: так как проверка на донов происходит только в рамках одного сообщества, нам надо интегрировать списки между двумя группами.

Для этого создаём в основном паблике список «Доны» и настраиваем его автоматическое пополнение через дополнительного бота-секретаря в основном паблике.

Бот, кикающий дезертиров из закрытки, image #9

Далее аналогично, как и в прошлый раз: бот в закрытой группе триггерится на запрос в закрытку. Только теперь мы проверяем, есть ли пользователь в списке донов основы. Нет – отклоняем, да – одобряем.

Бот, кикающий дезертиров из закрытки, image #10

Бот-Оповещалка о дезертире

Бот состоит из нескольких частей и аналогичен боту, который был описан в варианте с подписчиками. Но обратите внимание, что первая часть бота в основном паблике триггерится на отписку от донов. А ещё в ней добавляется 3-ий шаг: он удаляет пользователя из списка донов в TargetHunter (напомню, что это нужно для синхронизации списков между двумя сообществами).

Бот, кикающий дезертиров из закрытки, image #11

Далее вторая часть бота, чат и бот-Удалялка выглядят аналогично варианту с подписчиками.

Как комбинировать списки

В связи с некоторыми особенностями сервиса VK Donut, я пускаю в закрытку не только донов.

Бот, кикающий дезертиров из закрытки, image #12

Существует 4 категории подписчиков, для 3 из которых созданы списки:

  • Мега VIP Создатели: могут выходить из закрытки и возвращаться в неё без привязки к донату и подписке на основной паблик
  • Мега VIP Сотрудники: могут выходить из закрытки и возвращаться в неё без привязки к донату, но должны быть подписаны на основу (список содержит в себе и создателей)
  • VIP (олды, которые подписывались на закрытку до новых правил + призовые места): могут находится в закрытке бесплатно до тех пор, пока не выйдут из неё или из основного паблика (что автоматически удалит их из закрытки)
  • Остальные подписчики закрытки (те, кто может находиться в закрытке только пока является доном основы): при отказе от донатной подписки в основе или при отписке от основы, автоматически исключаются из закрытки. Если они продолжают оставаться донами, то при подписке на основу, они снова могут вступить в закрытку.

Иностранцы не могут пользоваться VK Donut, поэтому для них (и в целом для других пользователей тоже) я сделала возможность выиграть проходку в закрытку в список VIP при победе в различных наших активностях и конкурсах.

Вы же можете реализовать данный сценарий иначе и расширить число категорий, если хотите принимать оплату за доступ к закрытой группе не только через VK Donut. Например, одним из триггеров на одобрение заявки в закрытую группу может стать получение оплаты через интеграцию с платёжной системой.

Реализация бота, автоматизирующего вход в закрытку и выход из неё в Рамбутан-Studio

Всего для реализации необходимого сценария в Рамбутан-Studio понадобилось 3 бота в основе и 4 бота в закрытке.

Боты в основе:

Бот, кикающий дезертиров из закрытки, image #13

Боты в закрытке:

Бот, кикающий дезертиров из закрытки, image #14

Бот-секретарь и Бот-Одобрялка

Бот-секретарь пополняет список «Доны» в основном паблике, реагируя на триггер новой донатной подписки.

Бот, кикающий дезертиров из закрытки, image #15

Бот-одобрялка триггерится на запрос в закрытку. Мы проверяем, есть ли пользователь в списке донов основы. Да – проверяем подписку на основу, при её наличии – одобряем, а если её нет – отклоняем. Если пользователь не дон, то мы последовательно проверяем два списка – сотрудники и призовые, также вторым условием проверяя подписку на основу. Если пользователя не оказалось ни в каком из этих списков – отклоняем.

Бот, кикающий дезертиров из закрытки, image #16

Бот-Оповещалка о дезертире

Бот состоит из нескольких частей. Первая часть бота в основном паблике триггерится на отписку от донов. Мы проверяем у сбежавшего подписку на закрытку, а затем проверяем, чтобы он не был одним из сотрудников или VIP (эти пользователи также могут оформлять донатную подписку, но они имеют право на доступ к закрытке и без оформления такой подписки), и отправляем уведомление в чат. А 4-ий шаг удаляет пользователя из списка донов в TargetHunter (напомню, что это нужно для синхронизации списков между двумя сообществами).

Бот, кикающий дезертиров из закрытки, image #17

Также похожий бот триггерится на отписку от паблика. Мы опять проверяем подписку на закрытку. Если пользователь находится в списке олдов/призовых, то его исключают из списка (у нас есть условие, что олды могут сидеть в закрытке до тех пор, пока не отпишутся от неё) – теперь при повторной отправке заявки он не сможет попасть в закрытку, пока не станет доном.

В чат от лица основного паблика приходит оповещение с тегом сбежавшего пользователя.

Бот, кикающий дезертиров из закрытки, image #18

Вторая часть этого бота – в закрытке. Закрытка триггерится на входящее сообщение, которое пришло из служебного чата. Мы переносим упомянутого пользователя в другой бот-удалялку.

Бот, кикающий дезертиров из закрытки, image #19

Бот-Удалялка

Последняя часть бота активируется предыдущим ботом. В ней всего 1 шаг – исключение пользователя из закрытой группы.

Бот, кикающий дезертиров из закрытки, image #20

Бот-Исключалка

Так как у нас есть условие, что олды могут сидеть в закрытке до тех пор, пока не отпишутся от неё, то при выходе из закрытки мы удаляем пользователя из VIP-списка. Теперь при повторной отправке заявки он не сможет попасть в закрытку, пока не станет доном.

Бот, кикающий дезертиров из закрытки, image #21

Сколько это удовольствие стоит?

Самое крутое, что автоматическое одобрение заявок вы сможете реализовать даже на бесплатном тарифе TargetHunter.Moderator! Автоматическую сверку списков и автоматическое удаление пользователя вы сможете реализовать на бесплатном тарифе, если у вас не предполагается большого потока подписчиков.

Но функции для более сложных сценариев (например, сверка списка, находящегося в Google Таблицах, или проверка оплаты через внешний сервис) реализуются только на платном тарифе.

Я могу сделать вам простенького (или сложненького) бота, а мы с командой Рамбутан-Studio можем сделать красивый тест, сюжетный квест или интерактивную новеллу с помощью чат-ботов!

194 views·14 shares