A Telegram bot needs to be created for automatic monitoring and booking of slots on the website https://inpol.mazowieckie.pl (https://inpol.mazowieckie.pl/) (Mazowiecki Urząd Wojewódzki in Warsaw).
The bot is needed to work with multiple clients (different logins, passwords, case IDs).
Main functions and capabilities of the chatbot:
1. Work with multiple client accounts.
2. E-mail, password, Case ID;
3. Addition via JSON/CSV or directly in the bot.
4. Automatic website monitoring: From 08:45 to 09:15 — check every 30–60 seconds; At other times — every 3–5 minutes. Support for random delay.
5. Support for 2FA login: The bot requests a code from my e-mail and a code from SMS (manual input); Ideally — optional connection to the email via IMAP for auto-reading the code.
6. Notifications: If a slot is found — Telegram notification with data (client, date, time); Buttons: “Enter code”, “Confirm”.
6. Security: Sessions are stored (no need to log in every time); Ability to use proxy/IP rotation; User-Agent of a real browser (to avoid being detected as a bot).
7. Source code is mandatory + instructions for launching (on VPS or locally).
8. Programming language — Python or Node.js.
This project is divided into 3 stages, the 1st and part of the 2nd have already been implemented. Now it is necessary to complete the 2nd and do the 3rd:
The source code of the 1st and part of the 2nd stage is available, I will send it to the potential candidate.
Stage 1 | Authorization and management of client accounts
1. Ability to work with multiple client accounts. For each account, email, password, and Case ID are specified.
2. Login system using a real browser. There will be an option to spoof User-Agent and a setup for using proxy and IP rotation.
3. Implementation of manual input of 2FA codes (from SMS and email) upon request from the bot.
4. Preparation for automatic retrieval of 2FA codes via email connection (IMAP).
5. Session storage, so there is no need to log in every time.
6. Ability to add accounts via JSON/CSV file or manually through the bot.
Stage 2. Website monitoring and date selection
1. Automatic monitoring of the target page on a schedule:
2. From 08:45 to 09:15 — check every 30–60 seconds.
3. At other times — every 3–5 minutes.
4. A random delay will be used between checks to reduce the likelihood of blocking.
5. Search and selection of available dates and time slots for booking.
6. Emulation of user actions on the site when selecting a date (date-picking).
7. Ability to monitor multiple accounts at once.
Stage 3. Integration with Telegram and action confirmation
1. Notifications in Telegram (to a group or personal messages) when an available slot is found.
2. The message will contain information about the client, date, time, and other data.
3. Ability to interact with the bot through buttons:
4. “Enter code” — for manual input of 2FA.
5. “Confirm” — to perform the action directly from Telegram.
6. Testing of implemented functions by our team. If additional time for testing is required, the client will be notified.