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

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

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

  • Индексация контента: Бот должен уметь получать сообщения из целевого Telegram-канала и сохранять их в структурированную базу данных.
  • Автообновление: Система должна автоматически отслеживать новые посты в канале и добавлять их в базу данных в реальном времени.
  • Гибкий поиск: Реализовать механизм поиска по различным параметрам: ключевые слова и фразы, хэштеги, категории (если они указаны в сообщениях).
  • Удобный интерфейс выдачи: Результаты поиска должны предоставляться пользователю в структурированном виде с использованием интерактивных кнопок (Inline-кнопки или кнопки под сообщением) для навигации и просмотра.

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

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

Что ожидается от исполнителя

  • Обсуждение и уточнение деталей архитектуры и функционала.
  • Разработка рабочего прототипа.
  • Тестирование работы бота, включая индексацию и поиск.
  • Предоставление инструкций по настройке и запуску.