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

Ссылка на работу
image image
Задача Обменник валют пришёл с задачей увести заявки из личной переписки в бота. Курс до этого публиковали в канале руками по несколько раз в день, клиент писал оператору, тот считал сумму в калькуляторе и называл её в чате. Сценарий просили простой - человек открывает бота, видит актуальный курс, сам считает сумму, оставляет заявку, а оператор её подтверждает. Отдельно оговорили, что подтверждение остаётся за живым человеком, автоматических выплат в боте быть не должно. Что сделал Базовый курс тянется из внешнего источника, наценка процентом по каждому направлению задаётся в админке, там же курс ставится руками. Калькулятор считает в обе стороны - ввёл сумму, которую отдаёт, увидел сколько получит, и наоборот. Курс в заявке фиксируется на пятнадцать минут, таймер виден прямо в сообщении, по истечении бот пересчитывает и просит подтвердить новую цифру. Готовая заявка падает оператору в рабочий чат с кнопками подтвердить и отклонить, статус сразу уходит клиенту. Двойное нажатие оператора или клиента больше не плодит две сделки - заявка блокируется по статусу на уровне базы. Результат Заявки съехали из переписки в один список - у каждой видно направление, сумму, зафиксированный курс и время создания. Месяц работы дал порядка трёхсот заявок в боте, повторные клиенты заходят в него сами, минуя личку оператора. Заказчику остались исходники, админка и короткая инструкция по смене наценок и лимитов.