Dieses Python-Skript ( vfs-appointment-bot ) automatisiert die Suche nach Terminen im VFS Global-Portal in einem bestimmten Land.
Das vfs-appointment-bot
-Skript kann mit zwei Methoden installiert werden:
Dies ist die bevorzugte Methode zur Installation vfs-appointment-bot
. So geht's:
Erstellen Sie eine virtuelle Umgebung (empfohlen):
python3 -m venv venv
Dadurch wird eine virtuelle Umgebung namens venv
erstellt, um Projektabhängigkeiten von Ihrer systemweiten Python-Installation zu isolieren ( empfohlen ).
Aktivieren Sie die virtuelle Umgebung:
Linux/macOS:
source venv/bin/activate
Windows:
venv S cripts a ctivate
Mit pip installieren:
pip install vfs-appointment-bot
Dadurch werden das vfs-appointment-bot
Paket und seine Abhängigkeiten heruntergeladen und in Ihrer Python-Umgebung installiert.
Als alternative Installationsmethode klonen Sie den Quellcode aus dem Projekt-Repository und installieren ihn manuell.
Klonen Sie das Repository:
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot
Navigieren Sie zum Projektverzeichnis:
cd vfs-appointment-bot
Erstellen Sie eine virtuelle Umgebung (empfohlen):
python3 -m venv venv
Dadurch wird eine virtuelle Umgebung namens venv
erstellt, um Projektabhängigkeiten von Ihrer systemweiten Python-Installation zu isolieren ( empfohlen ).
Aktivieren Sie die virtuelle Umgebung:
Linux/macOS:
source venv/bin/activate
Windows:
venv S cripts a ctivate
Abhängigkeiten installieren:
pip install poetry
poetry install
Installieren Sie Dramatiker-Abhängigkeiten:
playwright install
Laden Sie die Vorlage config/config.ini
herunter.
curl -L https://raw.githubusercontent.com/ranjan-mohanty/vfs-appointment-bot/main/config/config.ini -o config.ini
Aktualisieren Sie die vfs-Anmeldeinformationen und Benachrichtigungskanaleinstellungen. Weitere Informationen zum Konfigurieren von E-Mail-, Twilio- und Telegram-Benachrichtigungen finden Sie im Abschnitt „Benachrichtigungskanäle“.
Exportieren Sie den Pfad der Konfigurationsdatei in die Umgebungsvariable VFS_BOT_CONFIG_PATH
export VFS_BOT_CONFIG_PATH= < your-config-path > /config.ini
Wenn Sie das Skript durch Klonen des Repositorys installiert haben (manuelle Installation) , können Sie die Werte direkt in config/config.ini
bearbeiten.
Befehlszeilenargument:
Das Skript erfordert die Angabe des Quell- und Zielländercodes (gemäß ISO 3166-1 Alpha-2) als Befehlszeilenargument unter Verwendung von -sc
oder --source-country-code
und -dc
oder --destination-country-code
Option.
Ausführen des Skripts:
Es gibt zwei Möglichkeiten, erforderliche Termindetails anzugeben:
Auf Benutzeraufforderungen reagieren (empfohlen):
vfs-appointment-bot -sc IN -dc DE
Das Skript fordert Sie auf, die erforderlichen Terminparameter für das angegebene Land einzugeben.
Verwenden von -ap
oder --appointment-params
:
Geben Sie Termindetails in einem durch Kommas ( nicht durch Leerzeichen getrennt ) Schlüsselwertformat an:
vfs-appointment-bot -sc IN -dc DE -ap visa_center=X,visa_category=Y,visa_sub_category=Z
Das Skript stellt dann eine Verbindung zur VFS Global-Website für das angegebene Land her, sucht mithilfe der bereitgestellten oder eingegebenen Parameter nach verfügbaren Terminen und sendet möglicherweise Benachrichtigungen (abhängig von Ihrer Konfiguration).
Derzeit werden drei Benachrichtigungskanäle unterstützt, um Sie über die Verfügbarkeit von Terminen auf dem Laufenden zu halten:
Benachrichtigungen konfigurieren:
E-Mail:
E-Mail-Konto: Zum Versenden von Benachrichtigungen benötigen Sie ein Gmail-Konto .
App-Passwort: Generieren Sie ein App-Passwort für Ihr Gmail-Konto anstelle Ihres regulären Passworts. Weitere Informationen zum Generieren von App-Passwörtern finden Sie im Leitfaden von Google: https://support.google.com/accounts/answer/185833?hl=en.
Konfigurationsdatei: Aktualisieren Sie die Konfigurationsdatei Ihrer Anwendung ( config.ini
) mit den folgenden Details:
email
(erforderlich): Ihre Gmail-Adresse.password
(erforderlich): Ihr generiertes Gmail-App-Passwort.Twilio:
Erstellen Sie ein Twilio-Konto (falls erforderlich): Melden Sie sich unter https://www.twilio.com/en-us für ein kostenloses Twilio-Konto an, um Kontoanmeldeinformationen und Telefonnummern zu erhalten.
Anmeldeinformationen abrufen: Suchen Sie die SID Ihres Kontos, Ihr Authentifizierungstoken und Ihre Telefonnummern in Ihrem Twilio-Konto-Dashboard.
Konfigurationsdatei: Aktualisieren Sie die Konfigurationsdatei Ihrer Anwendung ( config.ini
) mit:
auth_token
(erforderlich): Ihr Twilio-Authentifizierungstokenaccount_sid
(Erforderlich): Die SID Ihres Twilio-Kontossms_enabled
(Optional): Aktiviert SMS-Benachrichtigungen (Standard: True)call_enabled
(Optional): Aktiviert Sprachanrufbenachrichtigungen (Standard: Falsch)url
(optional): Twilio-API-URL (nur erforderlich, wenn der Aufruf aktiviert ist)to_num
(Erforderlich): Telefonnummer des Empfängers für Benachrichtigungenfrom_num
(erforderlich): Twilio-Telefonnummer, die Sie zum Senden von Nachrichten verwendenTelegramm:
Erstellen Sie einen Telegram-Bot: Besuchen Sie https://telegram.me/BotFather, um einen Telegram-Bot zu erstellen. Befolgen Sie die Anweisungen auf dem Bildschirm, um den Token Ihres Bots zu erhalten.
Konfigurationsdatei: Aktualisieren Sie die Konfigurationsdatei Ihrer Anwendung ( config.ini
) mit:
bot_token
(erforderlich): Ihr von BotFather erhaltenes Telegram-Bot-Token.chat_id
(Optional): Die spezifische Telegram-Chat-ID, unter der Sie Benachrichtigungen erhalten möchten. Wenn es weggelassen wird, sendet der Bot Benachrichtigungen an den Chat, von dem aus die Nachricht gesendet wurde. Um Ihre Chat-ID zu finden, können Sie einen Gruppenchat nur mit sich selbst erstellen und dann den Befehl /my_id
im Bot verwenden. Die folgende Tabelle listet derzeit unterstützte Länder und ihre entsprechenden Terminparameter auf:
Land | Terminparameter |
---|---|
Indien (IN) - Deutschland (DE) | visa_category, visa_sub_category, visa_center |
Irak (IQ) - Deutschland (DE) | visa_category, visa_sub_category, visa_center |
Marokko (MA) - Italien (IT) | visa_category, visa_sub_category, visa_center, payment_mode |
Aserbaidschan (AZ) - Italien (IT) | visa_category, visa_sub_category, visa_center |
Hinweise:
1. Anmeldefehler nach häufigen Anfragen:
Wenn der Bot zu häufig Anmeldeanfragen an die VFS-Website stellt, blockiert das VFS-System möglicherweise vorübergehend Ihren Zugriff aufgrund einer vermuteten Automatisierung. Dies kann zu Anmeldefehlern führen.
2. Gelegentliche Captcha-Verifizierung:
Die VFS-Website erfordert bei der Anmeldung einen CAPTCHA-Verifizierungsschritt. Derzeit verfügt der Bot nicht über einen integrierten CAPTCHA-Löser.
config.ini
Datei browser_type
auf "chromium" or "webkit"
setzen.Hinweis: Wir arbeiten ständig daran, die Funktionalität des Bots zu verbessern. Zukünftige Updates könnten integrierte CAPTCHA-Lösungsfunktionen enthalten.
Dieses Skript ist derzeit für die Zusammenarbeit mit der VFS Global-Website für Deutschland konzipiert. Es könnte möglich sein, die Unterstützung für andere Länder zu erweitern, indem das Skript geändert wird, um potenzielle Unterschiede in der Website-Struktur und den Parameteranforderungen auf verschiedenen VFS Global-Länderseiten zu berücksichtigen.
Wir freuen uns über Beiträge der Community, um dieses Projekt zu verbessern! So können Sie mitmachen:
Dieses Skript wird unverändert bereitgestellt und ist nicht mit VFS Global verbunden. Es liegt in Ihrer Verantwortung, sicherzustellen, dass Sie bei der Verwendung dieses Skripts die Allgemeinen Geschäftsbedingungen von VFS Global einhalten. Beachten Sie, dass sich die Website-Strukturen und Terminverfügbarkeitsmechanismen im Laufe der Zeit ändern können.