Техническое задание на разработку бота для автоматического мониторинга и бронирования билетов
1. Общая информация
Проект: Разработка бота для автоматизированного поиска, бронирования и уведомления о билетах на мероприятие.
Платформа мониторинга: WeBook.
Каналы взаимодействия: Telegram-уведомления.
2. Функциональные требования
2.1. Мониторинг наличия билетов
Бот должен автоматически отслеживать появление билетов на сайте WeBook с учетом заданных пользователем параметров:
• Сектор – возможность указания одного или нескольких секторов (например, C4, C6, C10).
• Ряд – настройка диапазона рядов (например, с 5 по 10).
• Парность мест – возможность поиска только парных билетов, любых мест или одиночных.
• Диапазон цен – задание минимальной и максимальной стоимости билета.
• Дата и время мероприятия – возможность указания конкретной даты и времени.
Требования к частоте мониторинга:
• Гибко настраиваемый интервал проверки наличия билетов (от 30 секунд до 5 минут).
2.2. Автоматическое бронирование
Бот должен автоматически бронировать билеты при их появлении, если они соответствуют заданным фильтрам.
Процесс бронирования:
1. Добавление билетов в корзину.
2. Выбор доступного аккаунта для оформления брони.
3. Подготовка данных для оплаты.
4. Генерация ссылки на оплату.
Дополнительные настройки:
• Минимальное и максимальное количество билетов в одной покупке.
• Приоритетное бронирование (если на выбор несколько вариантов билетов).
• Возможность отмены бронирования по команде пользователя.
2.3. Telegram-уведомления
После успешного бронирования бот отправляет уведомление пользователю в Telegram следующего формата:
📢 Доступны билеты по вашему фильтру!
🎟 Мероприятие: Reignited 2
📅 Дата: 21 декабря 2024, 16:30
📍 Место: Kingdom Arena, Саудовская Аравия
✅ Забронированные билеты:
• Сектор C4, Ряд A, Места 19, 20 – 800 SAR
• Сектор C6, Ряд B, Места 18, 19 – 800 SAR
💳 Оплата:
🔗 Ссылка на оплату: /payment/XXXXXX
👤 Аккаунт для оплаты:
• Логин: user email.com
• Пароль: qwerty123
⏳ Время бронирования: 10 минут. Пожалуйста, оплатите билет в течение этого времени, иначе бронь будет автоматически снята.
Дополнительные уведомления:
• Напоминание за 2 минуты до истечения брони – если билет не оплачен.
• Уведомление об успешной оплате – если возможно получить такую информацию.
• Оповещение о снятии брони – если пользователь не оплатил билет в срок.
3. Административные функции и настройка
• Гибкое редактирование фильтров – изменение параметров поиска билетов через Telegram.
• Управление учетными записями – возможность загрузки логинов и паролей аккаунтов для бронирования.
• История бронирований – логирование всех операций с указанием времени, аккаунта и параметров брони.
• Настройка частоты мониторинга – изменение интервала проверки билетов в реальном времени.
4. Техническая реализация
4.1. Интеграции и используемые технологии
• Парсинг билетов – автоматизированное сканирование сайта WeBook (Selenium, Playwright, Puppeteer или API, если доступно).
• Браузерная автоматизация – эмуляция действий пользователя для бронирования билетов.
• Telegram API – отправка уведомлений и получение команд от пользователя.
• Облачное хранилище – безопасное хранение логинов и паролей учетных записей.
4.2. Требования к серверу
• VPS/Выделенный сервер – Linux (Ubuntu/Debian) или Windows Server.
• Поддержка Python/Node.js – в зависимости от выбранной технологии реализации.
• Стабильное интернет-соединение – без ограничений на веб-скрапинг.
• Система логирования и мониторинга работы – возможность отслеживания активности бота.
5. Этапы разработки
1. Анализ структуры сайта WeBook – определение методов мониторинга и бронирования.
2. Разработка парсера – создание механизма поиска и проверки доступных билетов.
3. Реализация функционала бронирования – автоматизированное добавление билетов в корзину.
4. Интеграция с Telegram – уведомления и команды управления.
5. Тестирование и оптимизация – проверка корректности работы бота.
6. Развертывание на сервере – настройка постоянной работы и мониторинга.
6. Ожидаемый результат
• Полностью автоматизированный процесс поиска и бронирования билетов.
• Оперативные уведомления в Telegram о доступных билетах и статусе брони.
• Гибкие настройки фильтрации билетов и параметров бронирования.
• Стабильная работа бота в режиме 24/7 без необходимости ручного вмешательства.