Este script de Python ( vfs-appointment-bot ) automatiza la verificación de citas en el portal VFS Global en un país específico.
El script vfs-appointment-bot
se puede instalar mediante dos métodos:
Es el método preferido para instalar vfs-appointment-bot
. He aquí cómo hacerlo:
Crear un entorno virtual (recomendado):
python3 -m venv venv
Esto crea un entorno virtual llamado venv
para aislar las dependencias del proyecto de la instalación de Python en todo el sistema ( recomendado ).
Activar el entorno virtual:
Linux/macOS:
source venv/bin/activate
Ventanas:
venv S cripts a ctivate
Instalar usando pip:
pip install vfs-appointment-bot
Esto descargará e instalará el paquete vfs-appointment-bot
y sus dependencias en su entorno Python.
Para obtener un método de instalación alternativo, clone el código fuente del repositorio del proyecto e instálelo manualmente.
Clonar el repositorio:
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot
Navegue al directorio del proyecto:
cd vfs-appointment-bot
Crear un entorno virtual (recomendado):
python3 -m venv venv
Esto crea un entorno virtual llamado venv
para aislar las dependencias del proyecto de la instalación de Python en todo el sistema ( recomendado ).
Activar el entorno virtual:
Linux/macOS:
source venv/bin/activate
Ventanas:
venv S cripts a ctivate
Instalar dependencias:
pip install poetry
poetry install
Instalar dependencias de dramaturgos:
playwright install
Descargue la plantilla config/config.ini
.
curl -L https://raw.githubusercontent.com/ranjan-mohanty/vfs-appointment-bot/main/config/config.ini -o config.ini
Actualice las credenciales de vfs y las preferencias del canal de notificación. Consulte la sección Canales de notificación para obtener detalles sobre cómo configurar notificaciones por correo electrónico, Twilio y Telegram.
Exporte la ruta del archivo de configuración a la variable de entorno VFS_BOT_CONFIG_PATH
export VFS_BOT_CONFIG_PATH= < your-config-path > /config.ini
Si instaló el script clonando el repositorio (instalación manual) , puede editar directamente los valores en config/config.ini
.
Argumento de línea de comando:
El script requiere que se proporcione el código del país de origen y de destino (según ISO 3166-1 alfa-2) como argumento de línea de comando usando -sc
o --source-country-code
y -dc
o --destination-country-code
-opción --destination-country-code
.
Ejecutando el guión:
Hay dos formas de proporcionar los detalles requeridos de la cita:
Responder a las indicaciones del usuario (recomendado):
vfs-appointment-bot -sc IN -dc DE
El script le pedirá que ingrese los parámetros de cita requeridos para el país especificado.
Usando -ap
o --appointment-params
:
Especifique los detalles de la cita en un formato clave-valor separados por comas ( no por espacios ):
vfs-appointment-bot -sc IN -dc DE -ap visa_center=X,visa_category=Y,visa_sub_category=Z
Luego, el script se conectará al sitio web de VFS Global para el país especificado, buscará citas disponibles utilizando los parámetros proporcionados o ingresados y potencialmente enviará notificaciones (según su configuración).
Actualmente admite tres canales de notificación para mantenerlo informado sobre la disponibilidad de citas:
Configurar notificaciones:
Correo electrónico:
Cuenta de correo electrónico: necesitará una cuenta de Gmail para enviar notificaciones.
Contraseña de la aplicación: genere una contraseña de aplicación para su cuenta de Gmail en lugar de su contraseña habitual. Consulte la guía de Google para generar contraseñas de aplicaciones: https://support.google.com/accounts/answer/185833?hl=en.
Archivo de configuración: actualice el archivo de configuración de su aplicación ( config.ini
) con los siguientes detalles:
email
(obligatorio): su dirección de Gmail.password
(obligatoria): la contraseña generada de la aplicación Gmail.Twilio:
Cree una cuenta de Twilio (si es necesario): regístrese para obtener una cuenta de Twilio gratuita en https://www.twilio.com/en-us para obtener las credenciales de la cuenta y los números de teléfono.
Recuperar credenciales: localice el SID de su cuenta, el token de autenticación y los números de teléfono en el panel de su cuenta de Twilio.
Archivo de configuración: actualice el archivo de configuración de su aplicación ( config.ini
) con:
auth_token
(obligatorio): su token de autenticación de Twilioaccount_sid
(obligatorio): el SID de su cuenta Twiliosms_enabled
(opcional): habilita las notificaciones por SMS (predeterminado: verdadero)call_enabled
(opcional): habilita notificaciones de llamadas de voz (predeterminado: falso)url
(opcional): URL de la API de Twilio (solo es necesaria si la llamada está habilitada)to_num
(obligatorio): número de teléfono del destinatario para notificacionesfrom_num
(obligatorio): número de teléfono de Twilio que usarás para enviar mensajesTelegrama:
Cree un bot de Telegram: visite https://telegram.me/BotFather para crear un bot de Telegram. Siga las instrucciones en pantalla para obtener el token de su bot.
Archivo de configuración: actualice el archivo de configuración de su aplicación ( config.ini
) con:
bot_token
(obligatorio): su token de bot de Telegram obtenido de BotFather.chat_id
(opcional): el ID de chat de Telegram específico donde desea recibir notificaciones. Si se omite, el bot enviará notificaciones al chat desde donde recibió el mensaje. Para encontrar su ID de chat, puede crear un chat grupal solo con usted y luego usar el comando /my_id
dentro del bot. La siguiente tabla enumera los países admitidos actualmente y sus parámetros de cita correspondientes:
País | Parámetros de la cita |
---|---|
India(IN) - Alemania(DE) | visa_categoría, visa_sub_categoría, visa_centro |
Irak(IQ) - Alemania(DE) | visa_categoría, visa_sub_categoría, visa_centro |
Marruecos(MA) - Italia(IT) | visa_categoría, visa_sub_categoría, visa_centro, modo_pago |
Azerbaiyán(AZ) - Italia(IT) | visa_categoría, visa_sub_categoría, visa_centro |
Notas:
1. Errores de inicio de sesión después de solicitudes frecuentes:
Si el bot realiza solicitudes de inicio de sesión en el sitio web de VFS con demasiada frecuencia, el sistema VFS podría bloquear temporalmente su acceso debido a una sospecha de automatización. Esto puede provocar errores de inicio de sesión.
2. Verificación de Captcha ocasional:
El sitio web de VFS requiere un paso de verificación CAPTCHA durante el inicio de sesión. Actualmente, el bot no tiene un solucionador CAPTCHA incorporado.
browser_type
en "chromium" or "webkit"
en su archivo config.ini
.Nota: Trabajamos constantemente para mejorar la funcionalidad del bot. Las actualizaciones futuras podrían incluir capacidades integradas de resolución de CAPTCHA.
Este script está actualmente diseñado para funcionar con el sitio web de VFS Global para Alemania. Podría ser posible ampliar el soporte a otros países modificando el script para manejar posibles variaciones en la estructura del sitio web y los requisitos de parámetros en diferentes páginas de países de VFS Global.
¡Agradecemos las contribuciones de la comunidad para mejorar este proyecto! Así es como puedes participar:
Este script se proporciona tal cual y no está afiliado a VFS Global. Es su responsabilidad asegurarse de cumplir con los términos y condiciones de VFS Global al utilizar este script. Tenga en cuenta que las estructuras del sitio web y los mecanismos de disponibilidad de citas pueden cambiar con el tiempo.