Этот скрипт Python ( vfs-appointment-bot ) автоматизирует проверку встреч на портале VFS Global в указанной стране.
Скрипт vfs-appointment-bot
можно установить двумя способами:
Это предпочтительный метод установки vfs-appointment-bot
. Вот как это сделать:
Создайте виртуальную среду (рекомендуется):
python3 -m venv venv
При этом создается виртуальная среда с именем venv
для изоляции зависимостей проекта от общесистемной установки Python ( рекомендуется ).
Активируйте виртуальную среду:
Linux/macOS:
source venv/bin/activate
Окна:
venv S cripts a ctivate
Установите с помощью pip:
pip install vfs-appointment-bot
Это позволит загрузить и установить пакет vfs-appointment-bot
и его зависимости в вашу среду Python.
В качестве альтернативного метода установки клонируйте исходный код из репозитория проекта и установите его вручную.
Клонируем репозиторий:
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot
Перейдите в каталог проекта:
cd vfs-appointment-bot
Создайте виртуальную среду (рекомендуется):
python3 -m venv venv
При этом создается виртуальная среда с именем venv
для изоляции зависимостей проекта от общесистемной установки Python ( рекомендуется ).
Активируйте виртуальную среду:
Linux/macOS:
source venv/bin/activate
Окна:
venv S cripts a ctivate
Установите зависимости:
pip install poetry
poetry install
Установите зависимости драматурга:
playwright install
Загрузите шаблон config/config.ini
.
curl -L https://raw.githubusercontent.com/ranjan-mohanty/vfs-appointment-bot/main/config/config.ini -o config.ini
Обновите учетные данные vfs и настройки канала уведомлений. Подробную информацию о настройке уведомлений по электронной почте, Twilio и Telegram см. в разделе «Каналы уведомлений».
Экспортируйте путь к файлу конфигурации в переменную среды VFS_BOT_CONFIG_PATH
export VFS_BOT_CONFIG_PATH= < your-config-path > /config.ini
Если вы установили скрипт путем клонирования репозитория (установка вручную) , вы можете напрямую редактировать значения в config/config.ini
.
Аргумент командной строки:
Сценарий требует, чтобы код страны источника и назначения (согласно ISO 3166-1 альфа-2) был указан в качестве аргумента командной строки с использованием -sc
или --source-country-code
и -dc
или --destination-country-code
- вариант --destination-country-code
.
Запуск сценария:
Есть два способа предоставить необходимую информацию о встрече:
Ответ на запросы пользователя (рекомендуется):
vfs-appointment-bot -sc IN -dc DE
Скрипт предложит ввести необходимые параметры встречи для указанной страны.
Использование -ap
или --appointment-params
:
Укажите сведения о встрече в формате «ключ-значение», разделенном запятыми ( а не пробелами ):
vfs-appointment-bot -sc IN -dc DE -ap visa_center=X,visa_category=Y,visa_sub_category=Z
Затем скрипт подключится к веб-сайту VFS Global для указанной страны, выполнит поиск доступных встреч, используя предоставленные или введенные параметры, и, возможно, отправит уведомления (в зависимости от вашей конфигурации).
В настоящее время он поддерживает три канала уведомлений, чтобы держать вас в курсе доступности встреч:
Настройка уведомлений:
Электронная почта:
Учетная запись электронной почты: для отправки уведомлений вам понадобится учетная запись Gmail .
Пароль приложения: создайте пароль приложения для своей учетной записи Gmail вместо обычного пароля. Обратитесь к руководству Google по созданию паролей приложений: https://support.google.com/accounts/answer/185833?hl=en.
Файл конфигурации: обновите файл конфигурации вашего приложения ( config.ini
), указав следующую информацию:
email
(обязательно): ваш адрес Gmail.password
(обязательно): созданный вами пароль приложения Gmail.Твилио:
Создайте учетную запись Twilio (при необходимости). Зарегистрируйте бесплатную учетную запись Twilio на странице https://www.twilio.com/en-us, чтобы получить учетные данные учетной записи и номера телефонов.
Получение учетных данных: найдите SID своей учетной записи, токен аутентификации и номера телефонов на панели управления учетной записью Twilio.
Файл конфигурации: обновите файл конфигурации вашего приложения ( config.ini
), используя:
auth_token
(обязательно): ваш токен аутентификации Twilio.account_sid
(обязательно): SID вашей учетной записи Twilio.sms_enabled
(необязательно): включает уведомления по SMS (по умолчанию: True).call_enabled
(необязательно): включает уведомления о голосовых вызовах (по умолчанию: False).url
(необязательно): URL-адрес Twilio API (требуется только в том случае, если вызов включен).to_num
(обязательно): номер телефона получателя для уведомлений.from_num
(обязательно): номер телефона Twilio, который вы будете использовать для отправки сообщений.Телеграмма:
Создайте бота Telegram: посетите https://telegram.me/BotFather, чтобы создать бота Telegram. Следуйте инструкциям на экране, чтобы получить токен вашего бота.
Файл конфигурации: обновите файл конфигурации вашего приложения ( config.ini
), используя:
bot_token
(обязательно): ваш токен Telegram-бота, полученный от BotFather.chat_id
(необязательно): конкретный идентификатор чата Telegram, из которого вы хотите получать уведомления. Если этот параметр опущен, бот отправит уведомления в чат, откуда было отправлено сообщение. Чтобы узнать свой идентификатор чата, вы можете создать групповой чат только с самим собой, а затем использовать команду /my_id
в боте. В следующей таблице перечислены поддерживаемые в настоящее время страны и соответствующие им параметры назначения:
Страна | Параметры встречи |
---|---|
Индия(IN) - Германия(DE) | виза_категория, виза_под_категория, визовый_центр |
Ирак(IQ) - Германия(DE) | виза_категория, виза_под_категория, визовый_центр |
Марокко(MA) - Италия(IT) | виза_категория, виза_под_категория, визовый_центр, способ_платежа |
Азербайджан(AZ) - Италия(IT) | виза_категория, виза_под_категория, визовый_центр |
Примечания:
1. Сбои при входе в систему после частых запросов:
Если бот слишком часто отправляет запросы на вход на веб-сайт VFS, система VFS может временно заблокировать ваш доступ из-за подозрения на автоматизацию. Это может привести к ошибкам входа в систему.
2. Периодическая проверка капчи:
Веб-сайт VFS требует проверки CAPTCHA при входе в систему. На данный момент у бота нет встроенного решателя CAPTCHA.
browser_type
значение "chromium" or "webkit"
в файле config.ini
.Примечание: Мы постоянно работаем над улучшением функционала бота. Будущие обновления могут включать интегрированные возможности решения CAPTCHA.
Этот скрипт в настоящее время предназначен для работы с веб-сайтом VFS Global для Германии. Возможно, можно будет расширить поддержку для других стран, изменив сценарий для обработки потенциальных изменений в структуре веб-сайта и требований к параметрам на страницах VFS Global в разных странах.
Мы приветствуем вклад сообщества в улучшение этого проекта! Вот как вы можете принять участие:
Этот сценарий предоставляется «как есть» и не связан с VFS Global. Вы несете ответственность за соблюдение правил и условий VFS Global при использовании этого скрипта. Имейте в виду, что структура веб-сайта и механизмы доступности встреч могут со временем меняться.