Обложка для кейса «Как домовой чат превратился в 563 пользователя за 6 дней: делаем бота «Тайный Санта»

Как домовой чат превратился в 563 пользователя за 6 дней: делаем бота «Тайный Санта»

Этот бот начался с блокировок Роскомнадзора. Наш домовой чат переехал в Telegram, и я подумал — раз уж мы здесь, можно сделать что-нибудь весёлое. Например, поиграть с соседями в Тайного Санту.
Климент Лысенко
Основатель «Климент Контент»
Идея простая: бот, который сам проводит жеребьёвку и каждому в личку присылает имя того, кому дарить подарок.

👉 @s_santa_onlinebot
Но потом я подумал: если уже делать — надо делать нормально. Не только для соседей, а для всех. Чтобы можно было создавать несколько игр одновременно: одну для коллег, другую для семьи, третью для друзей.
Скриншоты из бота «Тайный Санта | Играть онлайн». Чат с создателем игры / чат с приглашённым игроком.

Планировал два дня. Получилось пятнадцать

Техническая часть выглядела несложно: PuzzleBot для конструктора бота, NocoDB как база данных. На конструкторах довольно сложно строить парные активности, где нужно связывать двух и более пользователей. Но PuzzleBot позволяет отправлять запросы к другим серверам, поэтому на Puzzle реализовал все основные команды: приветствие, условия, создание игры, а саму реферальную механику сделал на своём сервере — я выбрал автоматизатор Make.

Первая проблема — жеребьёвка. Нужно было случайно перемешать участников так, чтобы никто не дарил сам себе и ни у кого не было дублей и каждый получил своего подопечного. В Make не оказалось встроенной функции перемешивания массива, поэтому пришлось городить конструкцию из итераторов, агрегаторов и HTTP-запросов.
Скриншот из Make c конструкцией бота
Пользователь нажимает одну кнопочку «Жеребьёвка», а под капотом 13 действий, которые начинают игру
Вторая проблема — динамические кнопки. Когда пользователь нажимает «Мои игры», бот должен вытащить из базы данных названия игр и подставить их в кнопки. При этом кнопок должно быть ровно столько, сколько игр. Звучит очевидно, но конструктор не выводит динамический результат, только статика. В итоге реализация потребовала цепочку из запросов к двум таблицам, итератора, текстового агрегатора и правильной фильтрации.
Скриншот с ответом бота «Тайный Санта | Играть онлайн» на команду «Мои игры»
Если нажать на игру, пользователь увидит, что его подопечный просил передать Санте, а также создателя игры и всех остальных участников этой игры.
И тут вылез баг: если у пользователя нет ни одной игры, он видел вообще все созданные игры, которые есть в базе данных, потому что пустой фильтр возвращал всё подряд. Починили добавлением проверки на пустой массив.
Скриншот с ответом бота «Тайный Санта | Играть онлайн» на команду «Мои игры», если пользователь не участвует ни в одной игре
Если массив приходит пустой, то Make отправляет пользователя на ветку с таким сообщением

Пользователи начали приходить раньше, чем бот заработал

Я сделал одну вещь правильно — дал боту актуальное сезонное название до того, как он начал работать, и люди начали находить его в поиске Telegram. Сами, без рекламы.

Это было неожиданно. Обычно ты делаешь продукт, а потом объясняешь людям, зачем он нужен и как им пользоваться. А тут люди уже искали решение — и находили моего бота. Вот что значит делать востребованный продукт в актуальное время, а не то, что хочется самому, а потом объяснять другим, почему им это нужно. Это боль любого предпринимателя или продакта :)
Скриншот с просьбой воспользоваться ботом «Тайный Санта | Играть Онлайн»
В итоге приходилось писать пользователям в личку, извиняться, объяснять, что запуск завтра. А когда запустили жеребьёвку, функция отправки результатов заработала только на следующий день. Первым участникам я вручную писал, кто для кого Санта.

563 пользователя за 6 дней после запуска

Хотя совсем без продвижения не обошлось. Я добавил бота в каталоги Telegram-ботов, опубликовал анонс в своих каналах и закинул в сторис в Телеге. Базовые вещи, которые занимают час.

Но основной поток шёл именно из поиска — люди сами искали «тайный санта» в Telegram и находили бота. Причём до запуска бота он назывался «Тайный санта | Играть», но после запуска бота я пошёл в Вордстат и увидел, что «Тайный Санта Онлайн» ищут в 10 раз больше, и поменял слово — и люди перестали приходить! В итоге вернул «Тайный Санта | Играть онлайн», и трафик восстановился.

Что умеет бот

  • Админит несколько игр одновременно для одного пользователя
  • Приглашает участников по ссылке (кастомная рефералка)
  • Автоматическая анонимная жеребьёвка
  • Участники могут указать пожелания к подарку и адрес доставки 
  • Уведомления всем участникам о результатах
Бот полностью бесплатный. Навсегда. Это не лид-магнит и не пробная версия, а просто бот для Тайного Санты. Возможно в будущем добавлю обязательную подписку на канал, но это только после того как ежемесячно превысит 10 тыс пользователей.

👉 @s_santa_onlinebot
Скриншот с приветственным сообщением в боте «Тайный Санта | Играть онлайн»

Что дальше

Сезон Тайного Санты короткий — пара недель в декабре. В этом году бот работает как есть. А в ноябре 2026 вернёмся к нему с доработками: меня лично не устраивает, что люди не умеют играть в Тайного Санту! Все почему-то думают, что нужно купить подарок, потом собраться всем вместе и дарить — это же скучно. 

Смысл Тайного Санты в том, что ты в течение всего срока игры получаешь небольшие подарки и пытаешься угадать, кто твой Санта, а потом все вскрываются. Тайный Санта — это про интригу, а не про подарки. Поэтому в следующем году я планирую развести пользователей на 2 разные механики.
А теперь мы хотим работать с вами! Если у вас есть похожая задача, оставьте контакты, и давайте вместе подумаем, можем ли мы вам помочь
Другие кейсы
Ещё