Доработать тг бота, внести правки

10 000 руб. за проект
15 июля 2024, 14:40 • 14 откликов • 120 просмотров
сейчас бот по расшифровке vin номеров для BMW, R&R, Mini
получает на английском расшифровку, далее по нашей базе переводит и выдает в сжатом виде на русском

Нужно сделать ТЗ

1. Сделать меню с кнопками для бота.
Предполагается использование библиотеки aiogram dialog. Иметь возможность отключать функционал меню через энв переменные или админам. Т.е если какой-то сервис временно не работает, то иметь возможность переподнять контейнер с включенным флагом false и меню отображаться не будет. Как альтернатива включать/отключать через админ меню. Также этим можно регулировать включение/нового функционала. Сначала сделать меню с заглушками, потом допиливать функционал и включать.

Структура меню:

Расшифровать Vin
- BMW
- Mercedes (пункт 3)
Проверка истории (пункт 7)
Отчеты
- Epic (пункт 8)
Помощь
Админка (отображать только админам)
- Рассылка (пункт 4)
- Всем
- Без оплаты
- Активировать подписку
- Активировать отчеты
- Выставленные счета
- Вкл/откл меню

Пример использования
https://www.youtube.com/watch?v=6eJEvH-CkBM

Полезные статьи
https://habr.com/ru/articles/757236/

библиотека
https://github.com/Tishka17/aiogram_dialog

2. При использовании вебхука с ручным добавлением подписки присылать сообщение о продлениии подписки юзеру и админам.
Тексты сообщений отличаются. Дополнительно делать отметку в логах

3. Добавить расшифровку Mercedes по аналогии с Биммером
Сайт для расшифровки -
mb.vin : VIN Decoder for Mercedes-Benz

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

4. Добавить возможность писать в боте сообщения сразу всем.
Например, сообщать об обновлении и т.д
Пример:
Для пользователей с ролью админ добавить кнопку в главном меню ‘Общая рассылка’. Далее выбор на кого отправлять:
- все
- у кого нет подписки и закончились триалы
После ввода текста рассылки отобразить как будет выглядеть сообщение и запросить подтверждение.

5. После суток с момента выставления оплаты по счету, если оплата не произошла присылать напоминание с текстом “Ты вчера хотел оформить подписку. Продолжим?”

6. Перевести Парсинг по mdecoder’y на лямбду

7. Добавить модуль проверки истории машины на аукционах.
Использовать selenium в связке с AWS Lambda
Выдавать отчет с торгами/продажами.
В отчете:
- фото
- авто (например 2019 BMW 5 Series, 540 I)
- vin:
- статус тайтла (Sale Document)
- кто продает (Seller)
- количество торгов в виде
Торговалась n раз (Eще не торговалась):
Date - Final bid - Status
- Если есть sales history с более чем 1й записью, то фото с самых первых торгов
https://bid.cars/ru/lot/1-37600274/2019-BMW-5-Series-WBAJE5C50KWW24954

8. Добавить покупку отчетов Epic Vin
Проверять по базе, если есть, то скачивать и отдавать юзеру.
Работать должно по предоплаченные пакетам. 1 отчет бесплатно, далее пакет на 3\5\15 отчетов. Оплата через криптобота аналогично подписке.
Добавить вебхук для ручного добавления аналогично подписке.

9. Сделать возможность просматривать выставленные через криптобота счета, использовать соответствующее API
Отображать Номер счета - дата выставления - id и ник юзера - статус оплаты