Este script Python ( vfs-appointment-bot ) automatiza a verificação de compromissos no portal VFS Global em um país específico.
O script vfs-appointment-bot
pode ser instalado usando dois métodos:
É o método preferido para instalar vfs-appointment-bot
. Veja como fazer isso:
Crie um ambiente virtual (recomendado):
python3 -m venv venv
Isso cria um ambiente virtual chamado venv
para isolar as dependências do projeto da instalação do Python em todo o sistema ( recomendado ).
Ative o ambiente virtual:
Linux/macOS:
source venv/bin/activate
Windows:
venv S cripts a ctivate
Instale usando pip:
pip install vfs-appointment-bot
Isso fará o download e instalará o pacote vfs-appointment-bot
e suas dependências em seu ambiente Python.
Para um método de instalação alternativo, clone o código-fonte do repositório do projeto e instale-o manualmente.
Clone o repositório:
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot
Navegue até o diretório do projeto:
cd vfs-appointment-bot
Crie um ambiente virtual (recomendado):
python3 -m venv venv
Isso cria um ambiente virtual chamado venv
para isolar as dependências do projeto da instalação do Python em todo o sistema ( recomendado ).
Ative o ambiente virtual:
Linux/macOS:
source venv/bin/activate
Windows:
venv S cripts a ctivate
Instale dependências:
pip install poetry
poetry install
Instale dependências do dramaturgo:
playwright install
Baixe o modelo config/config.ini
.
curl -L https://raw.githubusercontent.com/ranjan-mohanty/vfs-appointment-bot/main/config/config.ini -o config.ini
Atualize as credenciais do vfs e as preferências do canal de notificação. Consulte a seção Canais de notificação para obter detalhes sobre como configurar notificações por e-mail, Twilio e Telegram.
Exporte o caminho do arquivo de configuração para a variável de ambiente VFS_BOT_CONFIG_PATH
export VFS_BOT_CONFIG_PATH= < your-config-path > /config.ini
Se você instalou o script clonando o repositório (instalação manual) , poderá editar diretamente os valores em config/config.ini
.
Argumento de linha de comando:
O script exige que o código do país de origem e destino (conforme ISO 3166-1 alfa-2) seja fornecido como um argumento de linha de comando usando o -sc
ou --source-country-code
e -dc
ou --destination-country-code
-opção --destination-country-code
.
Executando o script:
Existem duas maneiras de fornecer os detalhes do agendamento obrigatório:
Respondendo às solicitações do usuário (recomendado):
vfs-appointment-bot -sc IN -dc DE
O script solicitará que você insira os parâmetros de nomeação necessários para o país especificado.
Usando -ap
ou --appointment-params
:
Especifique os detalhes do compromisso em um formato de valor-chave separado por vírgula ( não separado por espaço ):
vfs-appointment-bot -sc IN -dc DE -ap visa_center=X,visa_category=Y,visa_sub_category=Z
O script irá então se conectar ao site da VFS Global para o país especificado, procurar compromissos disponíveis usando os parâmetros fornecidos ou inseridos e potencialmente enviar notificações (dependendo da sua configuração).
Atualmente, ele oferece suporte a três canais de notificação para mantê-lo informado sobre a disponibilidade de compromissos:
Configurando notificações:
E-mail:
Conta de e-mail: você precisará de uma conta do Gmail para enviar notificações.
Senha do aplicativo: gere uma senha de aplicativo para sua conta do Gmail em vez da senha normal. Consulte o guia do Google para gerar senhas de aplicativos: https://support.google.com/accounts/answer/185833?hl=en.
Arquivo de configuração: atualize o arquivo de configuração da sua aplicação ( config.ini
) com os seguintes detalhes:
email
(obrigatório): seu endereço do Gmail.password
(obrigatório): sua senha gerada do aplicativo Gmail.Twilio:
Crie uma conta Twilio (se necessário): Cadastre-se para obter uma conta Twilio gratuita em https://www.twilio.com/en-us para obter credenciais de conta e números de telefone.
Recuperar credenciais: localize o SID da sua conta, o token de autenticação e os números de telefone no painel da sua conta Twilio.
Arquivo de configuração: atualize o arquivo de configuração da sua aplicação ( config.ini
) com:
auth_token
(obrigatório): seu token de autenticação Twilioaccount_sid
(obrigatório): o SID da sua conta Twiliosms_enabled
(opcional): ativa notificações por SMS (padrão: True)call_enabled
(opcional): ativa notificações de chamadas de voz (padrão: falso)url
(opcional): URL da API Twilio (necessário apenas se a chamada estiver habilitada)to_num
(obrigatório): número de telefone do destinatário para notificaçõesfrom_num
(obrigatório): número de telefone da Twilio que você usará para enviar mensagensTelegrama:
Crie um bot do Telegram: Visite https://telegram.me/BotFather para criar um bot do Telegram. Siga as instruções na tela para obter o token do seu bot.
Arquivo de configuração: atualize o arquivo de configuração da sua aplicação ( config.ini
) com:
bot_token
(obrigatório): seu token de bot do Telegram obtido do BotFather.chat_id
(opcional): O ID específico do chat do Telegram onde você deseja receber notificações. Se omitido, o bot enviará notificações para o chat de onde a mensagem foi enviada. Para encontrar seu ID de bate-papo, você pode criar um bate-papo em grupo apenas com você e usar o comando /my_id
no bot. A tabela a seguir lista os países atualmente suportados e seus parâmetros de nomeação correspondentes:
País | Parâmetros de Compromisso |
---|---|
Índia(IN) - Alemanha(DE) | visa_category, visa_sub_category, visa_center |
Iraque(IQ) - Alemanha(DE) | visa_category, visa_sub_category, visa_center |
Marrocos(MA) - Itália(IT) | visa_category, visa_sub_category, visa_center, payment_mode |
Azerbaijão(AZ) - Itália(IT) | visa_category, visa_sub_category, visa_center |
Notas:
1. Falhas de login após solicitações frequentes:
Se o bot fizer solicitações de login no site VFS com muita frequência, o sistema VFS poderá bloquear temporariamente seu acesso devido a suspeita de automação. Isso pode levar a falhas de login.
2. Verificação ocasional de Captcha:
O site VFS requer uma etapa de verificação CAPTCHA durante o login. Atualmente, o bot não possui um solucionador CAPTCHA integrado.
browser_type
como "chromium" or "webkit"
em seu arquivo config.ini
.Observação: estamos trabalhando constantemente para melhorar a funcionalidade do bot. Atualizações futuras podem incluir recursos integrados de resolução de CAPTCHA.
Este script está atualmente projetado para funcionar com o site VFS Global para a Alemanha. Pode ser possível estender o suporte para outros países, modificando o script para lidar com possíveis variações na estrutura do site e nos requisitos de parâmetros em diferentes páginas de países da VFS Global.
Agradecemos contribuições da comunidade para melhorar este projeto! Veja como você pode se envolver:
Este script é fornecido no estado em que se encontra e não é afiliado à VFS Global. É sua responsabilidade garantir que você cumpra os termos e condições da VFS Global ao usar este script. Esteja ciente de que as estruturas do site e os mecanismos de disponibilidade de agendamento podem mudar com o tempo.