Написать телеграм бота

Цена договорная
26 ноября 2024, 14:33 • 16 откликов • 66 просмотров
Необходимо написать бота для телеграм со следующими функционалом:

Общее описание


Необходимо разработать Telegram-бота на языке программирования Python с использованием фреймворков aiogram или pyTelegramBotAPI. Бот будет предоставлять пользователям возможность искать автозапчасти одновременно на трёх ресурсах: Exist.ru, Avtoto.ru, Autodoc.ru. Для доступа к функционалу будет предусмотрена система платных подписок, тестовый бесплатный период, а также возможность использования реферальной программы. В боте также будет предусмотрено администраторское управление пользователями и рассылками.



---


Функциональные требования


1. Основные функции


1. Поиск запчастей:


Возможность искать автозапчасти по:


Марке и модели автомобиля с указанием года выпуска.


VIN-номеру автомобиля.


Серийному номеру искомой запчасти.



Для каждого запроса предоставлять:


Точные ссылки на найденные запчасти.


Стоимость запчастей.


Краткую информацию о запчасти.


Отзывы и общую оценку по данным ресурса.



Используемые ресурсы для парсинга:


Exist.ru


Avtoto.ru


Autodoc.ru





2. Система подписок:


Тестовый бесплатный период.


Ограничение функционала после окончания бесплатного периода.


Платная подписка с возможностью рекуррентных платежей через Робокассу.


Возможность администратору вручную назначать подписку пользователям.




3. Реферальная система:


Пользователь может приглашать друзей через реферальную ссылку.


Приобретение платной подписки приглашённым другом добавляет рефереру бесплатный период использования.




4. История запросов:


Хранение истории поисковых запросов каждого пользователя.


Возможность просмотра и повторного использования запросов.




5. Профиль пользователя:


Хранение контактной информации пользователя: номер телефона, имя, фамилия и никнейм.


Возможность просматривать текущий статус подписки.




6. Поддержка:


Кнопка для обращения в службу поддержки (в виде отправки сообщения администратору).




7. Рассылка администратора:


Возможность массовой рассылки сообщений всем активным пользователям бота.





2. Меню бота


Кнопки основного меню:


Поиск запчасти.


Мой профиль.


История запросов.


Поддержка.


---


Технические требования


1. Архитектура бота


Использовать aiogram или pyTelegramBotAPI для обработки запросов.


Использовать многопоточность для обработки параллельных запросов.


Парсинг данных с сайтов реализовать через BeautifulSoup или Scrapy.



2. Хранение данных


Использовать PostgreSQL для хранения:


Истории запросов.


Пользовательской информации.


Статусов подписки.


Реферальных данных.



3. Администрирование


Панель для администратора в боте с функциями:


Просмотр списка пользователей.


Назначение подписки.


Создание и отправка рассылок.



4. Интеграция с платежной системой


Использовать Робокассу для оплаты подписки:


Настроить рекуррентные платежи.


Хранить статусы транзакций в базе данных.



5. Логи и мониторинг


Логирование всех запросов и ошибок.


Настройка мониторинга сервера через Prometheus или аналогичный инструмент.


---


Нефункциональные требования


1. Производительность:


Поддержка одновременной работы до 500 активных пользователей.



2. Масштабируемость:


Возможность расширения функционала и добавления новых ресурсов для парсинга.



3. Надежность:


Гарантированное обновление информации при запросах с минимальной задержкой.

---


Итог


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