Перейти к содержимому
Антон ГончаровРазработчик ИИ-систем

Telegram и Max · баллы, QR на кассе, рассылки

Программа лояльности в Telegram и Max

Пластиковые карты теряются, а приложение кофейни никто не ставит. Карта в Telegram или Max оформляется за минуту и всегда под рукой: кассир сканирует QR, баллы приходят сразу, а через минуту бот просит оценить визит. Здесь вы сами побудете и гостем, и кассиром, и маркетологом: проведёте чек, обменяете баллы на подарок и получите рассылку так, как её увидит гость.

Сценарий: Сеть пекарен «Колос», Екатеринбург — вымышленная: кофе, завтраки и торты, три уровня карты, подарки за баллы и база из 1 248 гостей для рассылок.

Диалог с ботом: Программа лояльности в Telegram и Max
Ответы настоящие — сняты с кода бота, оформление как в Telegram.

Открыть демо

Не вводите настоящие персональные данные: это демо, всё удаляется через сутки.

Что показывает демо

  • Регистрация за три шага: телефон, день рождения и согласие на акции — 200 баллов в подарок

  • QR-код карты меняется каждую минуту, как коды банковских приложений: скриншот чужой карты касса не примет

  • Уровни по сумме покупок: 5, 7 и 10% баллами, оплата баллами до 30% чека, в неделю дня рождения — вдвойне

  • Штампы: каждый шестой кофе в подарок купоном с QR-кодом

  • Обмен баллов на подарки: круассан, кофе, торт — купон действует неделю

  • Приглашение друга по ссылке: ему баллы сразу, вам — после его первой покупки

  • Рассылки по сегментам — «давно не приходили», именинники, золотые гости — только тем, кто дал согласие

  • Оценка визита через минуту после покупки: низкая сразу уходит управляющему, гостю — кофе за счёт пекарни

  • Повторное нажатие «Провести» не начислит баллы дважды

  • Один код для Telegram и Max

Как попробовать

  1. Оформите карту

    Нажмите «Получить карту», напишите любой номер вида +7 900 000-00-00 и день рождения — придёт карта с QR-кодом и 200 баллами.

  2. Побудьте кассиром

    «Я на кассе» под картой: выберите чек, спишите баллы или копите дальше — бот пришлёт чек, начисление и штамп.

  3. Проверьте защиту

    Подождите пару минут и нажмите «Я на кассе» под старой картой — QR устарел, бот пришлёт свежий.

  4. Отправьте себе рассылку

    /admin — сегменты глазами маркетолога: выберите сегмент, получите сообщение и купон, как гость.

Что написать

  • Сколько у меня баллов?
  • Покажи подарки
  • Хочу пригласить друга

Команды

/start
начать
/card
карта и QR-код
/gifts
обменять баллы
/history
история баллов
/invite
пригласить друга
/admin
рассылки глазами маркетолога
/promo
включить или выключить акции
/about
как устроено демо

Без платных нейросетей

Нейросеть здесь не нужна: баллы, уровни и сегменты считаются по правилам. Касса — имитация: в рабочем проекте кассир сканирует QR в кассовой программе, а бот получает чек через API.

Демо работает без API-ключей OpenAI, YandexGPT или GigaChat. Там, где рабочая система обращается к модели, стоит локальная заглушка с тем же интерфейсом — поэтому демо бесплатно, всегда доступно и ничего не выдумывает.

Что будет в рабочем проекте

  • Касса и учёт: iiko, r_keeper, Эвотор или 1С — QR сканирует кассир, чек и баллы приходят через API
  • Гости и сегменты в CRM, пересчёт сегментов каждую ночь по истории покупок
  • Рассылки по расписанию с учётом часового пояса и лимита частоты, отчёт об открытиях и возвратах
  • Отзывы: довольных — на Яндекс Карты и 2ГИС, недовольных — управляющему с историей визитов
  • Подтверждённый телефон кнопкой «Поделиться контактом» и единая карта для Telegram и Max

Стек

  • Python 3.14
  • aiogram
  • Max Bot API
  • segno (QR)
  • SQLAlchemy
  • SQLite

Основано на

Книги и дисциплины, идеи из которых работают в этом демо.

  • Книга · Брюс Шнайер

    Взломать всё

    QR-код карты меняется каждую минуту: скриншот чужой карты касса не примет — лазейка закрыта до релиза.

Комментарий от разработчика

Антон Гончаров

Разработчик ИИ-систем · Python

Для бизнеса

  • Карта в мессенджере не теряется и не требует приложения: оформление за минуту прямо у кассы.
  • Баллы, штампы и подарки возвращают гостя, а рассылка «давно не приходили» — тех, кто начал забывать.
  • Оценка сразу после визита ловит недовольных до того, как они напишут отзыв на картах.

Для разработчиков

  • Код на QR считается как TOTP: HMAC от секрета карты и номера минуты, касса принимает только свежий.
  • Каждый чек проводится один раз: повторное нажатие или повтор запроса не начислит баллы дважды.
  • Картинка QR — PNG в памяти: Telegram получает её файлом, Max — через загрузку вложения, сценарий один.

Советы

  • Совет 01

    Без согласия на рекламу шлите только начисления и списания: акции таким гостям запрещает закон о рекламе.

  • Совет 02

    Начисляйте другу бонус за приглашение после его первой покупки, а не за регистрацию — иначе накрутят.

Нужен такой же для вашего бизнеса?

Расскажите о задаче — отвечу, что из демо подойдёт вам, сколько это займёт и что понадобится с вашей стороны.

Другие демо в этом разделе

Все демо
  • Telegram и Max · поиск по базе знаний

    работает

    AI-поддержка по базе знаний

    Бот первой линии отвечает клиентам по базе знаний компании, показывает источник ответа, честно говорит «не знаю» и передаёт диалог оператору.

    • Python
    • Telegram и Max
  • Telegram и Max · заявки и CRM

    работает

    Квалификация лидов

    Бот принимает заявку свободным текстом, сам вытаскивает задачу, бюджет, сроки и контакт, оценивает «горячесть» и кладёт карточку на доску сделок.

    • Python
    • Telegram и Max
  • Telegram Mini App · оплата · статусы

    работает

    Магазин в Telegram

    Каталог как приложение внутри Telegram, корзина, тестовая оплата и уведомления о статусе заказа — от «собираем» до «доставлен».

    • Python
    • Telegram и Max
    • React
  • Telegram и Max · запись, предоплата, напоминания

    работает

    Запись на услуги в Telegram и Max

    Бот записывает в барбершоп: услуга, мастер и свободное время кнопками или одной фразой, предоплата, напоминание с кнопками «Приду» и «Перенести», перенос, отмена и расписание глазами администратора.

    • Python
    • Telegram и Max
  • Веб-приложение · сценарий · код на aiogram 3

    работает

    Конструктор сценариев бота

    Бот записи или приёма заявок собирается из шагов: сообщения, кнопки, вопросы с проверкой телефона или даты, условия. Сценарий сразу проходится в превью как в Telegram, а на выходе — готовый код бота на Python.

    • React
    • TypeScript
    • Python