Как автоматически записывать людей на мероприятия: собираем чат-бот
Как специалисту или эксперту освободить время для действительно важного? Правильно, автоматизировать рутину. Именно об этом эта статья. В ней я расскажу, как собрать чат-бот ВКонтакте, который будет автоматически записывать людей на мероприятия.
Эта схема по сути подойдет для любых мероприятий, проходящих с определенной периодичностью. Адаптировать ее под свой проект не составит особого труда. Она универсальная и убирает всю рутину по замене дат.
То есть, построив подобную схему один раз, вы полностью избавите себя от постоянной необходимости заходить в нее, чтобы менять какую-либо информацию (даты, блоки проверок дат и пр.). Более того, чтобы менять сами даты, не нужно даже в сервис залезать. Всё меняется меньше чем за минуту прямо с телефона (об этом в конце).
Небольшое лирическое отступление, чтобы в очередной раз признаться в любви самому замечательному сервису автоматизации ❤ BotHunter ❤
О проекте
Руководитель сообщества ВКонтакте «Психологические консультации, игры и тренинги» проводит психологические трансформационные игры в Петрозаводске. Игры проходят каждый месяц, определяются две даты на выбор.
Раньше запись проходила через личку или сообщения группы в свободной форме, что отнимало много времени у ведущей. Таким образом, встала задача автоматизировать запись игроков, попутно давая ответы на частые вопросы об игре. А также была необходима возможность автоматически формировать список записавшихся на конкретные даты и их количество по запросу админа.
Для этого соберем бот с помощью сервиса BotHunter
«Бот-регистратор»
Схема бота небольшая, целиком выглядит так:
Пройдемся по логике схемы и рассмотрим ее поближе
Бот срабатывает на слово «играть» (см. скрин ниже👇).
Далее идет добавление в списки: в обычный список тех, кто интересовался играми (используем для последующих догревающих рассылок) и облачный список, из которого сразу в рекламный кабинет в ретаргет.
После приходит первое сообщение с кнопками, при помощи которых пользователь может узнать, в какие даты проходят игры (ближайшие известные), сразу записаться на одну из игр, если захочет, узнать подробнее об игре (для новичков), а также узнать про бизнес-версию игры.
Кнопки все многоразовые, чтобы в любой момент можно было нажать на любую из них и получить нужную информацию, даже если уже вылетел из бота.
Значения дат находятся в переменных сообщества (глобальных) и автоматически подставляются во все блоки, в текст и кнопки.
Добавляем в список тех, кто смотрел даты, — в дальнейшем используем его для рассылок, за минусом тех, кто в итоге записался.
Когда пользователь выбирает удобную дату, записываем его ответ в пользовательскую переменную data.
В каждом блоке сообщений стоят напоминалки через час бездействия, чтобы возвращать в диалог тех, кто отвлекся.
Далее (см. скрин ниже👇), так как многие хотят прийти с друзьями, идет вопрос о количестве игроков. Ответ фиксируем в две переменные:
{%кол_чел%} — для того, чтобы админу дать эту информацию в тексте уведомления после регистрации пользователя.
{%kol_dop1%} и {%kol_dop2%} — для того, чтобы считать общее количество игроков (для двух дат отдельно) и выдавать админу в общем отчете. Простой вывод количества пользователей в списке тут не подходит, так как в список попадает только тот пользователь, который проходит бота, а не его друзья.
Иногда случается так, что на какую-то дату записывается меньше человек, чем нужно для проведения игры (необходимо не менее 7), поэтому далее уточняем, можем ли мы в такой ситуации позвать пользователя на другую дату или ему другие даты не подходят.
После ответа пользователю приходит сообщение с подтверждением регистрации, а админам — уведомление о записи на игру, в котором содержатся все необходимые данные о пользователе. Также в сообщении есть хештег, по которому можно быстро отфильтровать и найти все сообщения с запиcью на игру в диалоге с группой.
Затем пользователь в зависимости от того, какую дату он выбрал, попадает в один из двух списков. Эти списки нужны, чтобы выводить в отчете админу список с именами и фамилиями записавшихся.
Дальше в определенное время (у нас это за 2 дня до даты игры) необходимо прислать сообщение с просьбой подтвердить участие.
И вот тут я не пользуюсь обычными таймерами с датами, ведь мне нужно, чтобы эта схема была универсальная и подходила под любые даты всегда, без внесения в нее постоянных корректировок.
Поэтому я для начала нахожу разницу в днях между двумя датами — текущей датой и датой игры, на которую записался пользователь (см. скрин👇)
Тут есть несколько вариантов: люди могут записаться как задолго до игры, так и за 1 день или даже в день самой игры. Поэтому у меня стоит несколько блоков проверки условия.
- Если количество дней больше 3-х, то запускаем его на таймер, и на следующий день процедура повторится. Она будет повторяться до тех пор, пока количество дней не станет равным 3 (см. скрин 👇).
- Если же пользователь записывается за 2 дня до игры, (т.е. как раз в тот день, когда должно прийти напоминание), то тогда он попадает на таймер до завтра (это чтобы не закидывать сообщениями) (см. скрин 👇).
- Если за день до игры — тоже таймер до завтра и далее сообщение со всеми организационными подробностями.
В день игры (да, такое тоже бывало, поэтому пришлось добавить) — через 30 сек. то же самое сообщение, что и в предыдущем варианте.
Так мы не будем «задалбывать» людей кучей сообщений подряд, а даем информацию порционно, дав передохнУть (ударение на последний слог, если что 😁)
Когда вычисляем разницу между датами, то в формате, в котором она будет выводиться, у меня стоит значение а (хотя этого нет в «доступных форматах»). Если будете выводить дни через d, то в ситуации, когда дата находится на стыке двух месяцев, бот будет считать дни в пределах одного месяца и выводить неверную цифру, поэтому для вывода реального количества календарных дней — нужно ставить a. Просто возьмите на заметку 😉
После получения подтверждения участия или отказа сохраняем пользователей в соответствующие списки (во втором случае ещё удаляем из списков участников игр), и админу приходит уведомление (см. скрин 👇)
А теперь перейдем к самому интересному…
Как же эта система управляется без вмешательства в саму схему и необходимости заходить в ТХМ?
Для этого у меня есть специально обученный «админский бот». В нем (помимо других функций) можно посмотреть, кто записался на игры в текущем месяце, поменять даты игр и очистить списки записавшихся с прошлых дат, когда будут поставлены новые даты.
На скринах ниже все подробности, как это выглядит и в ТХМ, и со стороны админа.
Количество пользователей в списках выводится по такой формуле: {list.НОМЕР_СПИСКА.count} (см. скрин):
А номер списка берется рядом с его названием (см. скрин):
А так это выглядит в диалоге. Достаточно один раз настроить, чтобы потом не вникать)
Все эти действия занимают буквально меньше минуты, всё быстро и удобно.
Вот так легко и просто организована запись на игры в нашем сообществе.
Читайте также: Как сделать воронку продаж ВКонтакте с помощью BotHunter
На самом деле именно к такому виду схемы я пришла далеко не с первого раза. С этим проектом я работаю уже 4 года, за это время я перепробовала шесть различных вариантов логики, каждый из них был по-своему хорош, но были моменты, которые все же меня не устраивали. А вот текущий вариант, пожалуй, самый удобный и работает как часы уже больше полугода. Поэтому я решила поделиться им с вами.
Если вы все ещё вручную меняете даты ваших мероприятий, то скорее применяйте логику из этого кейса. А если есть вопросы или нет желания самостоятельно заморачиваться с построением — пишите в личку, обсудим 😉
Автор: Юлия Шедевр
Редактор: Ольга Бастырева