Кейс

Telegram-бот для обмена USDT

Кейс бота для обменного сервиса: клиент выбирает направление обмена, вводит сумму, город и контактные данные, а система передает заявку в обработку и помогает не терять незавершенные обращения.

О проекте

Контекст проекта

Факты, которые можно подтвердить по проекту и открытому репозиторию.

Тип проекта

Рабочая система для обменного сервиса: Telegram-бот, VK-бот, PostgreSQL, CRM-клиент и отдельный worker напоминаний.

Заказчик и дата

Название заказчика и точная дата разработки публично не раскрываются. Репозиторий опубликован как пример реализованной архитектуры.

Роль Александра

Проектирование сценариев, разработка ботов и сервисного слоя, модели данных, CRM-интеграция, worker и подготовка Docker-запуска.

Задача

Проблема, ограничения и роль в проекте

Почему понадобилось отдельное решение и какие рамки учитывались при разработке.

Исходная проблема

Менеджеру требовалось получать не свободное сообщение, а заявку с направлением обмена, суммой, офисом и контактами клиента.

Почему не хватало обычной формы

Заявка оформляется внутри мессенджера, а незавершённый диалог должен сохраняться и продолжаться без повторного ввода данных.

Ограничения

Два канала должны использовать одну базу и бизнес-логику, CRM может работать в mock- или real-режиме, а напоминания не должны дублироваться.

Конфиденциальность

Реальные токены, CRM-доступы, клиентские данные и коммерческие показатели в открытом репозитории отсутствуют.

Архитектура

Как устроено решение

Основные компоненты и путь данных без привязки к закрытым доступам и секретам окружения.

01

Telegram и VK

Отдельные точки входа принимают события и передают действия в общий сервисный слой.

02

Сервисный слой

Draft, request и nudge-сервисы управляют черновиком заявки, подтверждением и повторными касаниями.

03

PostgreSQL

SQLAlchemy-модели и repositories сохраняют заявки, статусы и состояние напоминаний.

04

CRM-клиент

Infrastructure-слой передаёт подтверждённую заявку во внешнюю CRM или работает в mock-режиме.

05

Nudge worker

Отдельный процесс проверяет условия напоминаний 1–7 и защищает отправку от повторов.

Функции

Ключевые функции

Функции перечислены по фактической реализации, а не как возможные будущие доработки.

Пошаговая заявка

Пользователь выбирает направление, сумму и офис, затем проверяет сводку перед подтверждением.

Два мессенджера

Telegram и VK используют общую базу данных и сервисную бизнес-логику.

CRM

Подтверждённая заявка создаётся во внешней системе через отдельный клиент.

Напоминания

Worker отправляет серию повторных касаний по таймерам и учитывает ответы пользователя.

Тестовые режимы

Задержки напоминаний можно сократить для приёмочной проверки сценария.

Docker-запуск

Бот, worker и база подготовлены к раздельному запуску в окружении проекта.

Подтверждение

Демонстрация и исходный код

В репозитории опубликована демонстрация полного сценария: выбор параметров обмена, подтверждение заявки и работа напоминаний.

Результат

Результат и измерения

Отделяю подтверждённый функциональный результат от показателей, которые не передавались после запуска.

До

Данные заявки требовалось собирать в переписке и переносить в обработку вручную.

После

Система формирует структурированную заявку, сохраняет её и запускает CRM-обработку и напоминания.

Измеримые показатели

Заказчик не передал публичную статистику конверсии или экономии времени. Результат подтверждается функционально и открытым кодом.

Выводы

Что изменилось бы в следующей версии

Выводы по архитектуре, эксплуатации и дальнейшему развитию проекта.

После запуска

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

Что улучшить сейчас

Унифицировать имена CRM-переменных окружения, расширить автоматические тесты сервисного слоя и добавить health-check для отдельных процессов.

Следующий этап

Добавить наблюдаемость: метрики прохождения шагов, ошибки CRM и долю заявок, завершённых после напоминания.

Услуги

Что может понадобиться вместе с этой задачей

Дополнительные направления, которые часто используются вместе с этой услугой.

Связаться

Создать заказ

Свяжитесь удобным способом и коротко опишите задачу. Даже если пока нет точного ТЗ, можно начать с идеи и желаемого результата.

Нужен похожий бот для заявок?

Опишите сценарий, который нужно автоматизировать. Я помогу определить структуру бота, нужные интеграции и первую рабочую версию.