Ce script Python ( vfs-appointment-bot ) automatise la vérification des rendez-vous sur le portail VFS Global dans un pays spécifié.
Le script vfs-appointment-bot
peut être installé en utilisant deux méthodes :
Il s'agit de la méthode préférée pour installer vfs-appointment-bot
. Voici comment procéder :
Créez un environnement virtuel (recommandé) :
python3 -m venv venv
Cela crée un environnement virtuel nommé venv
pour isoler les dépendances du projet de votre installation Python à l'échelle du système ( recommandé ).
Activez l'environnement virtuel :
Linux/macOS :
source venv/bin/activate
Fenêtres :
venv S cripts a ctivate
Installer en utilisant pip :
pip install vfs-appointment-bot
Cela téléchargera et installera le package vfs-appointment-bot
et ses dépendances dans votre environnement Python.
Pour une méthode d'installation alternative, clonez le code source du référentiel du projet et installez-le manuellement.
Clonez le dépôt :
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot
Accédez au répertoire du projet :
cd vfs-appointment-bot
Créez un environnement virtuel (recommandé) :
python3 -m venv venv
Cela crée un environnement virtuel nommé venv
pour isoler les dépendances du projet de votre installation Python à l'échelle du système ( recommandé ).
Activez l'environnement virtuel :
Linux/macOS :
source venv/bin/activate
Fenêtres :
venv S cripts a ctivate
Installer les dépendances :
pip install poetry
poetry install
Installez les dépendances du dramaturge :
playwright install
Téléchargez le modèle config/config.ini
.
curl -L https://raw.githubusercontent.com/ranjan-mohanty/vfs-appointment-bot/main/config/config.ini -o config.ini
Mettez à jour les informations d’identification VFS et les préférences du canal de notification. Consultez la section Canaux de notification pour plus de détails sur la configuration des notifications par e-mail, Twilio et Telegram.
Exportez le chemin du fichier de configuration vers la variable d'environnement VFS_BOT_CONFIG_PATH
export VFS_BOT_CONFIG_PATH= < your-config-path > /config.ini
Si vous avez installé le script en clonant le référentiel (installation manuelle) , vous pouvez directement modifier les valeurs dans config/config.ini
.
Argument de ligne de commande :
Le script nécessite que le code du pays source et du pays de destination (conformément à la norme ISO 3166-1 alpha-2) soit fourni comme argument de ligne de commande en utilisant -sc
ou --source-country-code
et -dc
ou --destination-country-code
-option --destination-country-code
.
Exécution du script :
Il existe deux manières de fournir les détails requis du rendez-vous :
Répondre aux invites de l'utilisateur (recommandé) :
vfs-appointment-bot -sc IN -dc DE
Le script vous demandera de saisir les paramètres de rendez-vous requis pour le pays spécifié.
En utilisant -ap
ou --appointment-params
:
Spécifiez les détails du rendez-vous dans un format clé-valeur séparé par des virgules ( et non par des espaces ) :
vfs-appointment-bot -sc IN -dc DE -ap visa_center=X,visa_category=Y,visa_sub_category=Z
Le script se connectera ensuite au site Web VFS Global du pays spécifié, recherchera les rendez-vous disponibles à l'aide des paramètres fournis ou saisis et enverra potentiellement des notifications (selon votre configuration).
Il prend actuellement en charge trois canaux de notification pour vous tenir informé de la disponibilité des rendez-vous :
Configuration des notifications :
E-mail:
Compte de messagerie : vous aurez besoin d'un compte Gmail pour envoyer des notifications.
Mot de passe d'application : générez un mot de passe d'application pour votre compte Gmail au lieu de votre mot de passe habituel. Reportez-vous au guide de Google pour générer des mots de passe d'application : https://support.google.com/accounts/answer/185833?hl=en.
Fichier de configuration : mettez à jour le fichier de configuration de votre application ( config.ini
) avec les détails suivants :
email
(Obligatoire) : Votre adresse Gmail.password
(obligatoire) : votre mot de passe généré pour l'application Gmail.Twilio :
Créez un compte Twilio (si nécessaire) : inscrivez-vous pour un compte Twilio gratuit sur https://www.twilio.com/en-us pour obtenir les informations d'identification du compte et les numéros de téléphone.
Récupérer les informations d'identification : localisez le SID de votre compte, votre jeton d'authentification et vos numéros de téléphone dans le tableau de bord de votre compte Twilio.
Fichier de configuration : mettez à jour le fichier de configuration de votre application ( config.ini
) avec :
auth_token
(obligatoire) : votre jeton d'authentification Twilioaccount_sid
(obligatoire) : le SID de votre compte Twiliosms_enabled
(Facultatif) : Active les notifications par SMS (par défaut : True)call_enabled
(Facultatif) : Active les notifications d'appels vocaux (par défaut : False)url
(Facultatif) : URL de l'API Twilio (nécessaire uniquement si l'appel est activé)to_num
(obligatoire) : numéro de téléphone du destinataire pour les notificationsfrom_num
(obligatoire) : numéro de téléphone Twilio que vous utiliserez pour envoyer des messagesTélégramme:
Créez un bot Telegram : visitez https://telegram.me/BotFather pour créer un bot Telegram. Suivez les instructions à l'écran pour obtenir le jeton de votre bot.
Fichier de configuration : mettez à jour le fichier de configuration de votre application ( config.ini
) avec :
bot_token
(obligatoire) : votre jeton de bot Telegram obtenu auprès de BotFather.chat_id
(Facultatif) : L'ID de chat Telegram spécifique où vous souhaitez recevoir des notifications. En cas d'omission, le bot enverra des notifications au chat d'où il a été envoyé. Pour trouver votre identifiant de discussion, vous pouvez créer une discussion de groupe avec vous-même, puis utiliser la commande /my_id
dans le bot. Le tableau suivant répertorie les pays actuellement pris en charge et leurs paramètres de rendez-vous correspondants :
Pays | Paramètres de rendez-vous |
---|---|
Inde(IN) - Allemagne(DE) | visa_category, visa_sub_category, visa_center |
Irak(IQ) - Allemagne(DE) | visa_category, visa_sub_category, visa_center |
Maroc(MA) - Italie(IT) | visa_category, visa_sub_category, visa_center, payment_mode |
Azerbaïdjan(AZ) - Italie(IT) | visa_category, visa_sub_category, visa_center |
Remarques :
1. Échecs de connexion après des demandes fréquentes :
Si le bot effectue trop fréquemment des demandes de connexion au site Web VFS, le système VFS peut bloquer temporairement votre accès en raison d'une automatisation suspectée. Cela peut entraîner des échecs de connexion.
2. Vérification Captcha occasionnelle :
Le site Web VFS nécessite une étape de vérification CAPTCHA lors de la connexion. Actuellement, le bot ne dispose pas de solveur CAPTCHA intégré.
browser_type
sur "chromium" or "webkit"
dans votre fichier config.ini
.Remarque : Nous travaillons constamment à améliorer les fonctionnalités du bot. Les futures mises à jour pourraient inclure des capacités intégrées de résolution de CAPTCHA.
Ce script est actuellement conçu pour fonctionner avec le site Web VFS Global pour l'Allemagne. Il pourrait être possible d'étendre la prise en charge à d'autres pays en modifiant le script pour gérer les variations potentielles de la structure du site Web et des exigences en matière de paramètres sur les différentes pages de pays de VFS Global.
Nous apprécions les contributions de la communauté pour améliorer ce projet ! Voici comment vous pouvez vous impliquer :
Ce script est fourni tel quel et n'est pas affilié à VFS Global. Il est de votre responsabilité de vous assurer que vous respectez les termes et conditions de VFS Global lorsque vous utilisez ce script. Soyez conscient que les structures des sites Web et les mécanismes de disponibilité des rendez-vous peuvent changer avec le temps.