Все проекты

Кейс 1 / 53 · Боты

Telegram‑бот для сбора лидов на выставке

Разработал и развернул бота, который ведёт посетителя от QR-ссылки и презентации до анкеты, собственного контакта и готовой записи для отдела продаж.

  • Python
  • aiogram 3
  • SQLAlchemy 2
  • SQLite
  • httpx
  • openpyxl
  • pytest
  • systemd
Обезличенный макет Telegram-бота с входом по QR-ссылке, анкетой, контактом и передачей лидов в Excel и Bitrix24
Демонстрационная схема · без реальных контактов и QR
ВходQR-ссылки с источниками
Проверка154 автотеста
ДанныеSQLite → Excel / Bitrix24

Подробности

Задача

Компании — участнику выставки требовался понятный способ собирать контакты посетителей стенда. Человек должен был перейти в Telegram по QR-коду, получить презентацию и заполнить короткую анкету. Системе было важно сохранять источник обращения, не создавать повторные заявки и работать независимо от готовности CRM.

Что сделано

  • Собрана пошаговая анкета: имя, должность и передача собственного номера через штатную кнопку Telegram.
  • Настроена отправка PDF-презентации; при временно недоступном файле анкета продолжает работу.
  • Добавлены отдельные QR-ссылки для стендов, входной зоны и менеджеров.
  • Сохраняются первый и последний источники, а также история повторных переходов.
  • Повторное заполнение обновляет существующую запись. Защита от дублей учитывает Telegram ID и нормализованный телефон.
  • Для администратора реализованы статистика и экспорт лидов в Excel с ограничением доступа по Telegram ID.
  • Подготовлен модуль Bitrix24: поиск совпадений, создание и обновление записей, фиксация ошибок и повторная синхронизация.
  • До подключения CRM данные надёжно сохраняются локально в SQLite; ошибка внешней системы не отменяет сохранение лида.
  • Проект развернут на VPS с автозапуском через systemd, отдельным пользователем сервиса и ограничениями ресурсов.

Результат

Получился единый сценарий сбора лидов: QR-ссылка → презентация → анкета → подтверждённый контакт → статистика и экспорт. Источники обращений остаются в истории, а повторные визиты не создают бесконтрольные дубли.

154 автоматических теста прошли на Windows и повторно на Ubuntu без ошибок и пропусков. Проверены форма, дедупликация, источники, экспорт, локальное сохранение и обработка сбоев интеграций.

Границы проверки

Авторизация Telegram и запуск polling на VPS проверены. Сценарии анкеты тестировались с подменой Telegram API. Прохождение анкеты реальным посетителем и доставка клиентского PDF отдельно не подтверждались. Модуль Bitrix24 подготовлен, но подключение к реальной CRM ещё не выполнялось.

Инструменты и роль

Инструменты: Python, aiogram 3, SQLAlchemy 2, SQLite, httpx, openpyxl, pytest, Ubuntu и systemd.

Роль: разработка, тестирование и развёртывание на сервере.