Техническое задание на создание Telegram-бота
Общее описание
Необходимо разработать Telegram-бота на языке Python с использованием фреймворков aiogram или pyTelegramBotAPI. Бот предоставляет возможность искать автозапчасти на следующих ресурсах: Exist.ru, Avtoto.ru, Autodoc.ru.
Бот включает систему платных подписок с тестовым бесплатным периодом, реферальную программу, администрирование пользователей и рассылок.
Функциональные требования
1. Основные функции
1.1. Поиск запчастей:
Поиск по: марке и модели автомобиля (год выпуска), VIN-номеру, серийному номеру запчасти.
Для каждого запроса: ссылки на запчасти, стоимость, краткая информация, отзывы и оценки.
Источники для парсинга: Exist.ru, Avtoto.ru, Autodoc.ru.
1.2. Система подписок:
Тестовый бесплатный период.
Ограничение функционала после тестового периода.
Платная подписка с рекуррентными платежами через Робокассу.
Ручное назначение подписок администратором.
1.3. Реферальная система:
Генерация реферальных ссылок.
Бесплатный период для реферера при покупке подписки приглашённым другом.
1.4. История запросов:
Хранение истории запросов каждого пользователя.
Возможность повторного использования запросов.
1.5. Профиль пользователя:
Хранение контактной информации (телефон, имя, фамилия, никнейм).
Отображение текущего статуса подписки.
1.6. Поддержка:
Кнопка для отправки сообщения администратору.
1.7. Рассылка администратора:
Массовая рассылка активным пользователям.
2. Меню бота
Кнопки: Поиск запчасти, Мой профиль, История запросов, Поддержка.
Технические требования
1. Архитектура бота
aiogram или pyTelegramBotAPI для обработки запросов.
Многопоточность для параллельных запросов.
Парсинг данных с сайтов через BeautifulSoup или Scrapy.
2. Хранение данных
PostgreSQL для: истории запросов, пользовательской информации, статусов подписок, реферальных данных.
3. Администрирование
Панель администратора: просмотр пользователей, назначение подписок, создание рассылок.
4. Интеграция с платежной системой
Робокасса: настройка рекуррентных платежей, хранение статусов транзакций в базе данных.
5. Логи и мониторинг
Логирование запросов и ошибок.
Мониторинг сервера через Prometheus или аналогичный инструмент.
Нефункциональные требования
1. Производительность: до 500 одновременных активных пользователей.
2. Масштабируемость: добавление новых функций и ресурсов для парсинга.
3. Надежность: минимальная задержка при обработке запросов.
Итог
Бот предоставляет удобный инструмент для поиска автозапчастей, поддерживает платные функции, реферальную программу и возможности администрирования.