Ненавязчиво вовлекает участников групп в общение друг с другом
Есть чат-боты, которые мы разрабатываем для наших заказчиков — это всегда конкретные проекты под конкретные цели.
Но иногда мы делаем что-то по фану, например, чтобы проверить какую-то гипотезу. Если из этого получается что-то интересное, мы открываем доступ к чат-боту для всех. А ещё можем рассказать о том, как его разрабатывали. Этот кейс как раз про такого чат-бота.
Видео про кейс
Задача проекта
— Добавить функцию запуска бота в групповых чатах
— Настроить отправку утренних сообщений с буквами дня и вечерних сообщений со списком победителей и картинкой с облаком слов в пределах чата
— Предоставить возможность формировать статистику по чат-боту с данными по активности для владельцев и администраторов групп
Цель проекта
Сделать чат-бота, помогающего инициировать беседу в групповом чате и преобразовывать дальнейшие диалоги в формат облака слов
Продукт
Если в групповом чате не будет модератора, то очень скоро в нём воцарится хаос. Но даже модератор не улучшит атмосферу, если будет заниматься только удалением непотребного контента и выдачей банов.
Чтобы общение было полезным, нужно следить за тем, чтобы диалоги были завязаны на теме группы, а ещё необходимо периодически устраивать дополнительные активности.
К нам пришла мысль: что если добавить в существующую общую группу чат-бота, который мог бы задавать свои правила игры и следить за общением в чате. А чтобы было понятно, что из этого может получаться, бот в конце дня отправлял бы статистику, которую сам же и сформировал.
Мы быстро придумали правила игры:
- В девять утра по Москве каждый будний день бот должен отправлять сообщение всем участникам группы.
- В сообщении должны указываться три рандомные буквы, которые будут участвовать в игре на этот день.
- Тот, кто больше других участников напишет слова, начинающиеся на эти буквы, попадёт в список победителей этого дня.
- В семь вечера этого же дня бот отправляет список победителей в формате «Имя участника», «Количество слов на первую букву», «Количество слов на вторую букву», «Количество слов на третью букву» и «Суммарное количество слов по всем буквам». Первым указывается тот, у кого общая сумма всех слов больше других, остальные участники указываются в порядке убывания по такой же логике.
- Сразу после второго сообщения бот отправляет третье, но уже в формате картинки. На картинке отображается облако слов, которые участники писали в течение дня. Чем популярнее слово, тем большего размера оно будет.
Но одних правил игры недостаточно. Чтобы бот работал как надо, нужно было учесть и другие моменты.
«Пользовательские» нюансы
В современном русском языке нет слов, которые бы начинались на буквы Ъ, Ы, Ь, поэтому для бота нужен отдельный алфавит — без этих букв.
Также необходимо было предугадать способы читерства. Самый очевидный — если участники будут писать слова, состоящие только из одной буквы. Поэтому мы добавили отдельное правило — не учитывать слова такого размера.
Если за весь день никто ничего нового в чат не напишет, бот вместо статистики и облака слов должен прислать сообщение с причиной отсутствия такой статистики.
А если написал, на картинке должны быть указаны только те слова, которые состоят из трёх букв и более. Любые знаки препинания и эмодзи бот должен убирать.
Рандомность трёх букв также предполагает вероятность сочетания этих букв таким образом, что из них могут получаться матерные слова. Мы учли и этот момент тоже — «низкая» лексика тут ни к чему.
И самый неочевидный нюанс — как считать слова в статистике в том случае, если один и тот же участник (пользователь Телеграма) находится сразу в нескольких группах с нашим установленным чат-ботом. Мы пришли к простому решению: создавать для конкретного пользователя столько счётчиков, в скольких группах с таким чат-ботом он состоит.
«Админские» нюансы
При запуске чат-бота на личном аккаунте бот сразу должен рассказать о том, что его возможности лучше использовать для групповых чатов.
Если же владелец или пользователь с возможностями администратора добавит чат-бота в группу, бот не сможет работать, если у не будет доступа к чтению сообщений в чате. Поэтому сразу после добавления в группу бот должен проверить доступ к такой функции. Если она не включена, он должен попросить её включить.
Для администраторов также нужна своя отдельная статистика. Каждый день в 12:00 бот должен присылать админу сообщение, содержащее такие пункты:
- Общее количество пользователей
- Количество новых пользователей, которые начали играть сегодня;
- Количество новых пользователей, которые начали играть в этом месяце;
- Количество групп, в которых прямо сейчас запущен чат-бот.
Технические нюансы самого чат-бота
Нельзя забывать и про память сервера — она не бесконечна. Поэтому каждый день в 23:00 должна происходить автоматическая очистка данных по таблицам для подсчёта слов на картинке с облаком.
Генерация самой картинки также требует дополнительного внимания. Например, она может долго генерироваться, а значит, есть вероятность, что чат-бот «упадёт». Чтобы это не случалось, мы настроили генерацию картинки по очерёдности, поэтому иногда, если загрузка большая, чат-бот в некоторых группах присылает картинку не в 19:00, а на несколько минут позже.
Нюансы в разработке
Бот, который создаёт активность в групповых чатах — это не только проверка гипотезы, которую мы сами себе придумали, но и новый опыт в разработке.
До этого мы делали только одного чат-бота, который мог работать в чатах с большим количеством участников. Это наш Триггер-бот, единственная функция которого — быстро получать доступ к нужной информации в пределах группового чата.
Для Чемпика же мы планировали разработать больше одной функции, поэтому помимо анализа текущих нюансов должны были учесть и возможные проблемы для будущих дополнений.
Но это только звучит долго. В реальности на всё ушло меньше месяца: техническое задание мы написали за один вечер, в течение двух следующих недель писали код и тестировали бота, а на обсуждение деталей понадобилось всего три созвона с командой.
Конечно, были и сложности. Бот не сразу правильно считал статистику; иногда падал, не выдерживая нагрузки в чатах; путался с цифрами при работе с несколькими группами одновременно. А ещё «шумел»: своё утреннее сообщение с тремя буквами закреплял в чате, отправляя уведомление об этом сразу всем участникам.
Но это были решаемые проблемы, поэтому долго мы на них не задерживались.
Промежуточные выводы
Наша изначальная гипотеза — проверить, сможет ли чат-бот напрямую влиять на активность в группе — всё ещё в процессе подтверждения. Прямо сейчас несколько десятков групп разной тематики используют чат-бота для повышения активности среди участников.
При этом мы уже успели заметить, что помимо прямой функции чат-бота — развивать группу через побуждение к активности, у него есть и неочевидная — его подталкивание к диалогу делает людей более собранными, теперь они больше стараются писать по делу, а не просто «флудить».
Наши дальнейшие планы
Сейчас у Чемпика только один вид активности в чатах — игра с тремя буквами. Если наша гипотеза подтвердится, мы планируем добавить в него и другие активности: викторины, розыгрыши и занимательные подсчёты — например, выявлять самых активных и самых тихих участников группы.
И всё-таки, почему «Чемпик»
Всё благодаря мему «Ньюкасл чемпик». Само по себе слово «чемпик» стало использоваться для высмеивания чьих-то заявленных амбиций или их демонстрационного подтверждения.
Мы решили, что это слово идеально подходит для названия нашего чат-бота, потому что:
- «Чемпик» — это чемпион, а в ежедневной статистике чат-бота таких сразу несколько;
- «Чемпик» — это чаще что-то несерьёзное, с атмосферой «по фану», а это как раз наш случай.
Команда
- Боков Ахмад
- Хадушкаев Аслан
- Авдеев Сергей
- Кочанов Андрей
Итоги
С помощью Чемпика можно геймифицировать общение в чате: больше не нужно придумывать какие-то сложные механики, достаточно запустить чат-бота в группе и посмотреть на отклик аудитории.
Тем более, что сейчас чат-бот открыт для всех. Установить его могут владельцы любых групп — больших или маленьких, тематических или «общих».