Технічне завдання на розробку бота для автоматичного моніторингу та бронювання квитків
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 без необхідності ручного втручання.