Specyfikacja techniczna dotycząca opracowania bota do automatycznego monitorowania i rezerwacji biletów
1. Informacje ogólne
Projekt: Opracowanie bota do automatycznego wyszukiwania, rezerwacji i powiadamiania o biletach na wydarzenie.
Platforma monitorowania: WeBook.
Kanały interakcji: Powiadomienia Telegram.
2. Wymagania funkcjonalne
2.1. Monitorowanie dostępności biletów
Bot powinien automatycznie śledzić pojawianie się biletów na stronie WeBook z uwzględnieniem parametrów określonych przez użytkownika:
• Sektor – możliwość wskazania jednego lub kilku sektorów (na przykład C4, C6, C10).
• Rząd – ustawienie zakresu rzędów (na przykład od 5 do 10).
• Parność miejsc – możliwość wyszukiwania tylko parzystych biletów, dowolnych miejsc lub pojedynczych.
• Zakres cen – określenie minimalnej i maksymalnej ceny biletu.
• Data i czas wydarzenia – możliwość wskazania konkretnej daty i godziny.
Wymagania dotyczące częstotliwości monitorowania:
• Elastycznie konfigurowany interwał sprawdzania dostępności biletów (od 30 sekund do 5 minut).
2.2. Automatyczna rezerwacja
Bot powinien automatycznie rezerwować bilety w momencie ich pojawienia się, jeśli spełniają określone filtry.
Proces rezerwacji:
1. Dodanie biletów do koszyka.
2. Wybór dostępnego konta do dokonania rezerwacji.
3. Przygotowanie danych do płatności.
4. Generowanie linku do płatności.
Dodatkowe ustawienia:
• Minimalna i maksymalna liczba biletów w jednym zakupie.
• Priorytetowa rezerwacja (jeśli dostępnych jest kilka opcji biletów).
• Możliwość anulowania rezerwacji na polecenie użytkownika.
2.3. Powiadomienia Telegram
Po pomyślnej rezerwacji bot wysyła powiadomienie do użytkownika w Telegramie w następującym formacie:
📢 Dostępne bilety według twojego filtru!
🎟 Wydarzenie: Reignited 2
📅 Data: 21 grudnia 2024, 16:30
📍 Miejsce: Kingdom Arena, Arabia Saudyjska
✅ Zarezerwowane bilety:
• Sektor C4, Rząd A, Miejsca 19, 20 – 800 SAR
• Sektor C6, Rząd B, Miejsca 18, 19 – 800 SAR
💳 Płatność:
🔗 Link do płatności: /payment/XXXXXX
👤 Konto do płatności:
• Login: user email.com
• Hasło: qwerty123
⏳ Czas rezerwacji: 10 minut. Proszę opłacić bilet w tym czasie, w przeciwnym razie rezerwacja zostanie automatycznie anulowana.
Dodatkowe powiadomienia:
• Przypomnienie na 2 minuty przed wygaśnięciem rezerwacji – jeśli bilet nie został opłacony.
• Powiadomienie o pomyślnej płatności – jeśli możliwe jest uzyskanie takich informacji.
• Powiadomienie o anulowaniu rezerwacji – jeśli użytkownik nie opłacił biletu w terminie.
3. Funkcje administracyjne i konfiguracja
• Elastyczna edycja filtrów – zmiana parametrów wyszukiwania biletów przez Telegram.
• Zarządzanie kontami – możliwość załadowania loginów i haseł kont do rezerwacji.
• Historia rezerwacji – logowanie wszystkich operacji z podaniem czasu, konta i parametrów rezerwacji.
• Ustawienie częstotliwości monitorowania – zmiana interwału sprawdzania biletów w czasie rzeczywistym.
4. Realizacja techniczna
4.1. Integracje i używane technologie
• Parsowanie biletów – automatyczne skanowanie strony WeBook (Selenium, Playwright, Puppeteer lub API, jeśli dostępne).
• Automatyzacja przeglądarki – emulacja działań użytkownika w celu rezerwacji biletów.
• Telegram API – wysyłanie powiadomień i odbieranie poleceń od użytkownika.
• Chmura – bezpieczne przechowywanie loginów i haseł kont.
4.2. Wymagania dotyczące serwera
• VPS/Serwer dedykowany – Linux (Ubuntu/Debian) lub Windows Server.
• Wsparcie dla Python/Node.js – w zależności od wybranej technologii realizacji.
• Stabilne połączenie internetowe – bez ograniczeń w zakresie web scrapingu.
• System logowania i monitorowania pracy – możliwość śledzenia aktywności bota.
5. Etapy rozwoju
1. Analiza struktury strony WeBook – określenie metod monitorowania i rezerwacji.
2. Opracowanie parsera – stworzenie mechanizmu wyszukiwania i sprawdzania dostępnych biletów.
3. Realizacja funkcjonalności rezerwacji – automatyczne dodawanie biletów do koszyka.
4. Integracja z Telegramem – powiadomienia i polecenia zarządzania.
5. Testowanie i optymalizacja – sprawdzenie poprawności działania bota.
6. Wdrożenie na serwerze – konfiguracja stałej pracy i monitorowania.
6. Oczekiwany rezultat
• Całkowicie zautomatyzowany proces wyszukiwania i rezerwacji biletów.
• Natychmiastowe powiadomienia w Telegramie o dostępnych biletach i statusie rezerwacji.
• Elastyczne ustawienia filtrowania biletów i parametrów rezerwacji.
• Stabilna praca bota w trybie 24/7 bez potrzeby ręcznej interwencji.