Потрібно створити Telegram-бота для автоматичного моніторингу та бронювання вікон на сайті https://inpol.mazowieckie.pl (https://inpol.mazowieckie.pl/) (Мазовецький Уряд Воєводства у Варшаві).
Бот потрібен для роботи з кількома клієнтами (різні логіни, паролі, кейс-ID).
Основні функції та можливості чат-бота:
1. Робота з кількома акаунтами клієнтів.
2. E-mail, пароль, Case ID;
3. Додавання через JSON/CSV або прямо в боті.
4. Автоматичний моніторинг сайту: З 08:45 до 09:15 — перевірка кожні 30–60 секунд; В інший час — кожні 3–5 хвилин. Підтримка випадкової затримки.
5. Підтримка входу через 2FA: Бот запитує у мене код з e-mail та код з SMS (введення вручну); В ідеалі — опціональне підключення до пошти через IMAP для авто-читання коду.
6. Сповіщення: Якщо знайдено вікно — Telegram-сповіщення з даними (клієнт, дата, час); Кнопки: «Ввести код», «Підтвердити».
6. Безпека: Сесії зберігаються (не логінитися кожного разу); Можливість використовувати проксі/IP-ротацію; User-Agent справжнього браузера (щоб не палитися як бот).
7. Джерельний код обов'язковий + інструкція по запуску (на VPS або локально).
8. Мова програмування — Python або Node.js.
Даний проект поділений на 3 етапи, 1-й та частина 2-го вже реалізовані. зараз потрібно закінчити 2-й та зробити 3-й:
Є джерельний код 1-го та частини 2-го етапу, скину потенційному кандидату.
1 Етап | Авторизація та управління акаунтами клієнтів
1. Можливість роботи з кількома клієнтськими акаунтами. Для кожного акаунта вказуються email, пароль та Case ID.
2. Система логіна з використанням реального браузера. Буде передбачена можливість підміни User-Agent та заготовка під використання проксі та IP-ротацію.
3. Реалізація ручного введення 2FA-кодів (з SMS та email) за запитом від бота.
4. Підготовка до автоматичного отримання 2FA-кодів через підключення до пошти (IMAP).
5. Збереження сесій, щоб не доводилося логінитися кожного разу.
6. Можливість додавання акаунтів через JSON/CSV-файл або вручну через бота.
Етап 2. Моніторинг сайту та вибір дати
1. Автоматичний моніторинг цільової сторінки за розкладом:
2. З 08:45 до 09:15 — перевірка кожні 30–60 секунд.
3. В інший час — кожні 3–5 хвилин.
4. Буде використовуватися випадкова затримка між перевірками, щоб знизити ймовірність блокування.
5. Пошук та вибір доступних дат та часових вікон запису.
6. Емуляція дій користувача на сайті при виборі дати (date-picking).
7. Можливість моніторингу одразу по кількома акаунтах.
Етап 3. Інтеграція з Telegram та підтвердження дій
1. Сповіщення в Telegram (в групу або в особисті повідомлення) при знаходженні доступного вікна.
2. Повідомлення буде містити інформацію про клієнта, дату, час та інші дані.
3. Можливість взаємодії з ботом через кнопки:
4. «Ввести код» — для ручного введення 2FA.
5. «Підтвердити» — для виконання дії прямо з Telegram.
6. Тестування реалізованих функцій нашою командою. Якщо знадобиться додатковий час на тестування, клієнт буде повідомлений.