Trzeba stworzyć bota Telegram do automatycznego monitorowania i rezerwacji okien na stronie https://inpol.mazowieckie.pl (https://inpol.mazowieckie.pl/) (Mazowiecki Urząd Wojewódzki w Warszawie).
Bot jest potrzebny do pracy z kilkoma klientami (różne loginy, hasła, ID sprawy).
Główne funkcje i możliwości czatu bota:
1. Praca z wieloma kontami klientów.
2. E-mail, hasło, ID sprawy;
3. Dodawanie przez JSON/CSV lub bezpośrednio w bocie.
4. Automatyczne monitorowanie strony: Od 08:45 do 09:15 — sprawdzanie co 30–60 sekund; W pozostałym czasie — co 3–5 minut. Wsparcie dla losowego opóźnienia.
5. Wsparcie logowania przez 2FA: Bot prosi mnie o kod z e-maila i kod z SMS (wprowadzanie ręczne); W idealnym przypadku — opcjonalne połączenie z pocztą przez IMAP do automatycznego odczytu kodu.
6. Powiadomienia: Jeśli znaleziono okno — powiadomienie Telegram z danymi (klient, data, czas); Przyciski: „Wprowadź kod”, „Potwierdź”.
6. Bezpieczeństwo: Sesje są przechowywane (nie logować się za każdym razem); Możliwość użycia proxy/rotacji IP; User-Agent prawdziwej przeglądarki (aby nie ujawniać się jako bot).
7. Kod źródłowy jest obowiązkowy + instrukcja uruchomienia (na VPS lub lokalnie).
8. Język programowania — Python lub Node.js.
Ten projekt jest podzielony na 3 etapy, 1 i część 2 już zostały zrealizowane. teraz trzeba zakończyć 2 i zrobić 3:
Jest kod źródłowy 1 etapu i części 2 etapu, prześlę potencjalnemu kandydatowi.
Etap 1 | Autoryzacja i zarządzanie kontami klientów
1. Możliwość pracy z wieloma kontami klientów. Dla każdego konta podawane są e-mail, hasło i ID sprawy.
2. System logowania z wykorzystaniem prawdziwej przeglądarki. Będzie przewidziana możliwość zmiany User-Agent i przygotowanie do użycia proxy i rotacji IP.
3. Realizacja ręcznego wprowadzania kodów 2FA (z SMS i e-mail) na żądanie od bota.
4. Przygotowanie do automatycznego uzyskiwania kodów 2FA poprzez połączenie z pocztą (IMAP).
5. Zachowanie sesji, aby nie trzeba było logować się za każdym razem.
6. Możliwość dodawania kont przez plik JSON/CSV lub ręcznie przez bota.
Etap 2. Monitorowanie strony i wybór daty
1. Automatyczne monitorowanie docelowej strony według harmonogramu:
2. Od 08:45 do 09:15 — sprawdzanie co 30–60 sekund.
3. W pozostałym czasie — co 3–5 minut.
4. Będzie używane losowe opóźnienie między sprawdzeniami, aby zmniejszyć prawdopodobieństwo zablokowania.
5. Wyszukiwanie i wybór dostępnych dat i czasów rezerwacji.
6. Emulacja działań użytkownika na stronie przy wyborze daty (wybór daty).
7. Możliwość monitorowania jednocześnie na kilku kontach.
Etap 3. Integracja z Telegramem i potwierdzenie działań
1. Powiadomienia w Telegramie (do grupy lub do wiadomości prywatnych) przy znalezieniu dostępnego okna.
2. Wiadomość będzie zawierać informacje o kliencie, dacie, czasie i inne dane.
3. Możliwość interakcji z botem przez przyciski:
4. „Wprowadź kod” — do ręcznego wprowadzania 2FA.
5. „Potwierdź” — do wykonania działania bezpośrednio z Telegramu.
6. Testowanie zrealizowanych funkcji przez nasz zespół. Jeśli będzie potrzebny dodatkowy czas na testowanie, klient zostanie powiadomiony.