Андрей globall.dev zallord Сбер ID
Telegram-боты, Mini App, SaaS и веб-сервисы под ключ
Рейтинг
1 756
№ 571 в каталоге
Отзывы
0
Профессионализм
-/10
Коммуникация
- /10
Город
Москва
Опыт работы
7 лет
На сайте с
2019 года
Юридический статус
ИП
Freelance.Boutique
Премиум-сервис для лучших исполнителей

Бот обменника валют - курсы, заявка на обмен и подтверждение оператором

Используемые навыки API Python Telegram API Криптовалюта Чат-бот

Описание

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

Решение

Базовый курс тянется из внешнего источника, наценка процентом по каждому направлению задаётся в админке, там же курс ставится руками.
Калькулятор считает в обе стороны - ввёл сумму, которую отдаёт, увидел сколько получит, и наоборот.
Заявка собирается по шагам: направление, сумма, способ получения, реквизиты, комментарий.
Курс в заявке фиксируется на пятнадцать минут, таймер виден прямо в сообщении, по истечении бот пересчитывает и просит подтвердить новую цифру.
По каждому направлению заданы минимум и максимум, сумма сверх лимита уходит на ручное согласование.
Направление отключается одной кнопкой, когда по нему нет резерва - в боте оно пропадает из списка.
Готовая заявка падает оператору в рабочий чат с кнопками подтвердить и отклонить, статус сразу уходит клиенту.
История заявок лежит в профиле клиента, оператор так-же видит её в момент подтверждения.
Стек - Python, aiogram 3, PostgreSQL, VPS.
Два места, на которых такие боты обычно рассыпаются, закрыл сразу.
Двойное нажатие оператора или клиента больше не плодит две сделки - заявка блокируется по статусу на уровне базы.
Если источник курса не отвечает, бот отдаёт последний удачный курс с пометкой и сигналит об этом оператору.

Результат

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

Оценили проект:

Другие проекты

Все проекты →
Искусственный интеллект ИИ-ассистент поддержки по базе знаний компании в Telegram и на сайте
ИИ-ассистент поддержки по базе знаний компании в Telegram и на сайте
17
Веб-разработка и IT Бот закрытого клуба в Telegram - подписка с автопродлением, выдача доступа и чистка канала
Бот закрытого клуба в Telegram - подписка с автопродлением, выдача доступа и чистка канала
9
Веб-разработка и IT Telegram-игра для канала - короткие раунды, энергия и лидерборд среди друзей
Telegram-игра для канала - короткие раунды, энергия и лидерборд среди друзей
10
Веб-разработка и IT Единое окно переписки - Avito, WhatsApp, VK и почта в одном списке, таймер ответа и отчёты
Единое окно переписки - Avito, WhatsApp, VK и почта в одном списке, таймер ответа и отчёты
14