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

Цель проекта

Разработать автоматизированного Telegram-бота для отслеживания и оповещения об изменениях на веб-сайте с интерактивной картой. На карте отображены зоны (например, охранные или разрешительные), которые динамически меняют свой цветовой статус (например, "открыто", "закрыто"). Бот должен обнаруживать эти изменения и отправлять соответствующее уведомление в Telegram.

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

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

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

  • Язык программирования: Python (предпочтительно с использованием библиотек для парсинга, таких как Selenium, Playwright или BeautifulSoup в зависимости от сложности сайта).
  • Интеграция с Telegram API (библиотека python-telegram-bot, aiogram или аналоги).
  • Система должна быть развернута на сервере (VPS) с настройкой бесперебойной работы (например, через systemd или докер).
  • Необходима обработка возможных ошибок (падение сайта, изменение его структуры) и логирование.

Что необходимо от исполнителя

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

Результат работы

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