Техническое задание: Бот для мониторинга и записи на визу (VFS Global / TLScontact) 1. Цель проекта Разработать программное решение (бот), которое в режиме 24/7 отслеживает появление свободных слотов на сайте визового центра (указать страну, например, Франция/Испания) и оперативно уведомляет пользователя в Telegram или выполняет автоматическое бронирование. 2. Стек технологий (рекомендуемый) Язык: Python. Автоматизация: Selenium, Playwright или Pyppeteer (для обхода защиты и имитации действий пользователя). Уведомления: Telegram Bot API (библиотека aiogram или python-telegram-bot). База данных: SQLite или PostgreSQL (для хранения данных пользователей и логов слотов). Анти-детект: Использование прокси (HTTP/SOCKS5) и библиотек для скрытия автоматизации (например, undetected-chromedriver). 3. Функциональные требования 3.1. Модуль авторизации Бот должен уметь автоматически логиниться в личный кабинет визового центра. Поддержка решения капчи (интеграция с сервисами типа 2Captcha или RuCaptcha). Обработка сессий: переподключение при «вылете» из аккаунта. 3.2. Модуль мониторинга Проверка доступности слотов по заданным параметрам (город, тип визы) с настраиваемым интервалом (например, раз в 2–5 минут). Обход блокировок: рандомные задержки между действиями, смена User-Agent. 3.3. Модуль уведомлений Мгновенная отправка сообщения в Telegram при обнаружении слота с указанием даты и времени. Прямая ссылка на страницу записи в сообщении. 3.4. Авто-бронирование (опционально — уточнить у заказчика) При обнаружении слота бот должен автоматически выбрать его и нажать кнопку подтверждения/записи. Использование заранее сохраненных данных пользователя (ФИО, номер паспорта, дата рождения). 4. Нефункциональные требования Стабильность: Работа на сервере (VPS) 24/7. Логирование: Запись всех действий бота и ошибок в файл для отладки. Масштабируемость: Возможность добавить несколько аккаунтов для мониторинга. 5. Интерфейс управления (Telegram) Команды для пользователя: /start — запуск и краткая инструкция. /status — проверка работы бота и времени последней проверки сайта. /set_params — выбор города и типа визы. /pause / /resume — управление активностью мониторинга. 6. Ожидаемый результат Рабочий простой в использовании бот