Skrip Python ini ( vfs-appointment-bot ) mengotomatiskan pemeriksaan janji temu di portal Global VFS di negara tertentu.
Skrip vfs-appointment-bot
dapat diinstal menggunakan dua metode:
Ini adalah metode pilihan untuk menginstal vfs-appointment-bot
. Berikut cara melakukannya:
Buat lingkungan virtual (Disarankan):
python3 -m venv venv
Ini menciptakan lingkungan virtual bernama venv
untuk mengisolasi dependensi proyek dari instalasi Python seluruh sistem Anda ( disarankan ).
Aktifkan lingkungan virtual:
Linux/macOS:
source venv/bin/activate
jendela:
venv S cripts a ctivate
Instal menggunakan pip:
pip install vfs-appointment-bot
Ini akan mengunduh dan menginstal paket vfs-appointment-bot
dan dependensinya ke dalam lingkungan Python Anda.
Untuk metode instalasi alternatif, kloning kode sumber dari repositori proyek dan instal secara manual.
Kloning repositori:
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot
Arahkan ke direktori proyek:
cd vfs-appointment-bot
Buat lingkungan virtual (Disarankan):
python3 -m venv venv
Ini menciptakan lingkungan virtual bernama venv
untuk mengisolasi dependensi proyek dari instalasi Python seluruh sistem Anda ( disarankan ).
Aktifkan lingkungan virtual:
Linux/macOS:
source venv/bin/activate
jendela:
venv S cripts a ctivate
Instal dependensi:
pip install poetry
poetry install
Instal dependensi penulis naskah:
playwright install
Unduh templat config/config.ini
.
curl -L https://raw.githubusercontent.com/ranjan-mohanty/vfs-appointment-bot/main/config/config.ini -o config.ini
Perbarui kredensial vfs dan preferensi saluran notifikasi. Lihat bagian Saluran Notifikasi untuk detail tentang konfigurasi notifikasi email, Twilio, dan Telegram.
Ekspor jalur file konfigurasi ke variabel lingkungan VFS_BOT_CONFIG_PATH
export VFS_BOT_CONFIG_PATH= < your-config-path > /config.ini
Jika Anda menginstal skrip dengan mengkloning repositori (instalasi manual) , Anda dapat langsung mengedit nilai di config/config.ini
.
Argumen Baris Perintah:
Skrip ini memerlukan kode negara sumber dan tujuan (sesuai ISO 3166-1 alpha-2) untuk diberikan sebagai argumen baris perintah menggunakan -sc
atau --source-country-code
dan -dc
atau --destination-country-code
opsi --destination-country-code
.
Menjalankan Skrip:
Ada dua cara untuk memberikan rincian janji temu yang diperlukan:
Menanggapi Perintah Pengguna (disarankan):
vfs-appointment-bot -sc IN -dc DE
Skrip akan meminta Anda memasukkan parameter penetapan yang diperlukan untuk negara yang ditentukan.
Menggunakan -ap
atau --appointment-params
:
Tentukan detail janji temu dalam format nilai kunci yang dipisahkan koma ( bukan dipisahkan spasi ):
vfs-appointment-bot -sc IN -dc DE -ap visa_center=X,visa_category=Y,visa_sub_category=Z
Skrip kemudian akan terhubung ke situs web VFS Global untuk negara yang ditentukan, mencari janji temu yang tersedia menggunakan parameter yang disediakan atau dimasukkan, dan berpotensi mengirimkan pemberitahuan (tergantung pada konfigurasi Anda).
Saat ini mendukung tiga saluran notifikasi untuk terus memberi Anda informasi tentang ketersediaan janji temu:
Mengonfigurasi Notifikasi:
E-mail:
Akun Email: Anda memerlukan akun Gmail untuk mengirim notifikasi.
Kata Sandi Aplikasi: Buat kata sandi aplikasi untuk akun Gmail Anda, bukan kata sandi biasa. Lihat panduan Google untuk membuat kata sandi aplikasi: https://support.google.com/accounts/answer/185833?hl=en.
File Konfigurasi: Perbarui file konfigurasi aplikasi Anda ( config.ini
) dengan detail berikut:
email
(Wajib): Alamat Gmail Anda.password
(Wajib): Kata sandi aplikasi Gmail yang Anda buat.Twilio:
Buat Akun Twilio (jika diperlukan): Daftar akun Twilio gratis di https://www.twilio.com/en-us untuk mendapatkan kredensial akun dan nomor telepon.
Ambil Kredensial: Temukan SID akun Anda, token autentikasi, dan nomor telepon di dasbor akun Twilio Anda.
File Konfigurasi: Perbarui file konfigurasi aplikasi Anda ( config.ini
) dengan:
auth_token
(Wajib): Token autentikasi Twilio Andaaccount_sid
(Wajib): SID akun Twilio Andasms_enabled
(Opsional): Mengaktifkan notifikasi SMS (default: True)call_enabled
(Opsional): Mengaktifkan notifikasi panggilan suara (default: False)url
(Opsional): URL API Twilio (Hanya diperlukan jika panggilan diaktifkan)to_num
(Wajib): Nomor telepon penerima untuk notifikasifrom_num
(Wajib): Nomor telepon Twilio yang akan Anda gunakan untuk mengirim pesanTelegram:
Membuat Bot Telegram: Kunjungi https://telegram.me/Botfather untuk membuat bot Telegram. Ikuti petunjuk di layar untuk mendapatkan token bot Anda.
File Konfigurasi: Perbarui file konfigurasi aplikasi Anda ( config.ini
) dengan:
bot_token
(Wajib): Token bot Telegram Anda diperoleh dari Botfather.chat_id
(Opsional): ID obrolan Telegram spesifik tempat Anda ingin menerima notifikasi. Jika dihilangkan, bot akan mengirimkan pemberitahuan ke obrolan tempat pesan tersebut dikirim. Untuk menemukan ID obrolan Anda, Anda dapat membuat obrolan grup hanya dengan diri Anda sendiri dan kemudian menggunakan perintah /my_id
di dalam bot. Tabel berikut mencantumkan negara-negara yang saat ini didukung dan parameter janji temu terkait:
Negara | Parameter Pengangkatan |
---|---|
India(IN) - Jerman(DE) | kategori_visa, sub_kategori visa, pusat_visa |
Irak(IQ) - Jerman(DE) | kategori_visa, sub_kategori visa, pusat_visa |
Maroko(MA) - Italia(IT) | kategori_visa, sub-kategori_visa, pusat_visa, mode_pembayaran |
Azerbaijan(AZ) - Italia(IT) | kategori_visa, sub_kategori visa, pusat_visa |
Catatan:
1. Kegagalan Login Setelah Permintaan Sering:
Jika bot terlalu sering membuat permintaan login ke situs web VFS, sistem VFS mungkin memblokir akses Anda untuk sementara karena dugaan otomatisasi. Hal ini dapat menyebabkan kegagalan login.
2. Verifikasi Captcha Sesekali:
Situs web VFS memerlukan langkah verifikasi CAPTCHA saat login. Saat ini, bot tidak memiliki pemecah CAPTCHA bawaan.
browser_type
menjadi "chromium" or "webkit"
di file config.ini
Anda.Catatan: Kami terus berupaya meningkatkan fungsi bot. Pembaruan di masa mendatang mungkin mencakup kemampuan penyelesaian CAPTCHA yang terintegrasi.
Skrip ini saat ini dirancang untuk bekerja dengan situs web VFS Global untuk Jerman. Dimungkinkan untuk memperluas dukungan untuk negara-negara lain dengan memodifikasi skrip untuk menangani potensi variasi dalam struktur situs web dan persyaratan parameter di berbagai halaman negara VFS Global yang berbeda.
Kami menyambut kontribusi dari komunitas untuk meningkatkan proyek ini! Inilah cara Anda dapat terlibat:
Skrip ini disediakan apa adanya dan tidak berafiliasi dengan VFS Global. Merupakan tanggung jawab Anda untuk memastikan Anda mematuhi syarat dan ketentuan VFS Global saat menggunakan skrip ini. Ketahuilah bahwa struktur situs web dan mekanisme ketersediaan janji temu mungkin berubah seiring waktu.