Техническое задание: Telegram-бот для анализа запросов по запчастям

1. Назначение и цель проекта

Основная цель проекта - разработка автоматизированного решения для сбора и анализа статистики запросов пользователей на каталожные номера автозапчастей в заданных публичных Telegram-группах или каналах.

Ключевой результат работы бота - формирование рейтинга (топ-50) наиболее востребованных позиций за указанный пользователем период времени (день, неделя, месяц и т.д.).

2. Основной функционал бота

  • Подключение и мониторинг активности в заданных Telegram-источниках (чатах, группах, каналах).
  • Автоматический парсинг и фильтрация сообщений на предмет наличия каталожных номеров запчастей.
  • Сбор и накопление статистики по упоминаниям каждого номера.
  • Возможность задания временного периода для анализа (например, «за последнюю неделю»).
  • Генерация итогового отчета с ранжированным списком из 50 самых популярных каталожных номеров.
  • Предоставление отчета пользователю в удобном формате (текст, файл).

3. Требования к реализации

  • Бот должен быть написан на Python с использованием библиотек для работы с Telegram API (например, aiogram, python-telegram-bot).
  • Архитектура должна позволять гибко настраивать список источников для мониторинга.
  • Необходимо предусмотреть систему фильтрации для точного выделения каталожных номеров из общего потока сообщений.
  • Статистика должна храниться в структурированном виде (например, в базе данных SQLite или PostgreSQL).
  • Код должен быть документирован и сопровождаться инструкцией по развертыванию.