Задача
Нужно было связать диалог с пользователем и многошаговую браузерную операцию, сохранить состояние заявки на всём пути, исключить повторный запуск активного перевода и корректно обработать ожидание, отмену, ошибку или истечение времени.
FINTECH / AUTOMATION / TELEGRAM
TransferBot объединяет клиентский Telegram-бот, оркестратор заявок, браузерный контур и административное управление профилями. Пользователь задаёт сумму и подтверждает перевод, система проводит заявку через управляемый сценарий и возвращает готовый QR-код и ссылку для оплаты.
Для чего создан TransferBot
Подготовка перевода включает последовательный ввод суммы, реквизитов и персональных данных, выбор способа получения, ожидание внешних шагов и извлечение QR-кода. TransferBot переносит этот длинный сценарий в один управляемый процесс и оставляет пользователю простой диалог в Telegram.
Продукт рассчитан на сервисные команды и операторов, которые обрабатывают заявки на денежные переводы, а также на их клиентов. Клиент проходит короткий понятный поток, администратор управляет профилями получателей, а техническая команда контролирует очередь, статусы и браузерные задачи.
Нужно было связать диалог с пользователем и многошаговую браузерную операцию, сохранить состояние заявки на всём пути, исключить повторный запуск активного перевода и корректно обработать ожидание, отмену, ошибку или истечение времени.
Реализована сервисная архитектура из двух Telegram-ботов, Fastify-оркестратора, PostgreSQL и Playwright-worker. Оркестратор создаёт и распределяет задачи, worker исполняет браузерный сценарий и извлекает QR, а клиентский бот показывает состояние и доставляет результат пользователю.
Возможности
Функции собраны вокруг рабочего сценария и связаны общим состоянием, контролем и аналитикой.
Бот принимает сумму, проверяет ввод, запрашивает подтверждение и ведёт пользователя по состояниям заявки без отдельного приложения.
Fastify-сервис создаёт перевод, назначает профиль, хранит статус и отдаёт следующую задачу свободному worker-процессу.
Playwright-worker заполняет многошаговую форму, выбирает страну, способ получения и банк, проходит необходимые состояния и доходит до экрана оплаты.
Система извлекает PNG QR-кода и платёжную ссылку, сохраняет их в заявке и передаёт клиентскому боту.
Административный бот создаёт, показывает и удаляет профили получателей с реквизитами для переводов по карте или номеру телефона.
Статусы очереди, выполнения, ожидания и ошибки дополняются отменой, ограничением времени задачи и понятным повторным сценарием для пользователя.
Итог
TransferBot превратил сложную последовательность подготовки перевода в единый сервис: пользователь работает в Telegram, оператор управляет профилями, а серверная система координирует очередь, браузерное исполнение и выдачу QR. Все ключевые состояния заявки собраны в одном жизненном цикле и доступны каждому участнику в подходящем интерфейсе.
Новый проект
Опишите исходную ситуацию и желаемый результат. Мы разберёмся в контексте и предложим практичный первый этап.