สคริปต์ Python นี้ ( vfs-appointment-bot ) จะทำการตรวจสอบการนัดหมายที่พอร์ทัล VFS Global ในประเทศที่ระบุโดยอัตโนมัติ
สคริปต์ vfs-appointment-bot
สามารถติดตั้งได้โดยใช้สองวิธี:
เป็นวิธีที่แนะนำในการติดตั้ง vfs-appointment-bot
ต่อไปนี้เป็นวิธีดำเนินการ:
สร้างสภาพแวดล้อมเสมือน (แนะนำ):
python3 -m venv venv
สิ่งนี้จะสร้างสภาพแวดล้อมเสมือนชื่อ venv
เพื่อแยกการพึ่งพาโปรเจ็กต์จากการติดตั้ง Python ทั่วทั้งระบบ ( แนะนำ )
เปิดใช้งานสภาพแวดล้อมเสมือน:
ลินุกซ์/macOS:
source venv/bin/activate
หน้าต่าง:
venv S cripts a ctivate
ติดตั้งโดยใช้ pip:
pip install vfs-appointment-bot
สิ่งนี้จะดาวน์โหลดและติดตั้งแพ็คเกจ vfs-appointment-bot
และการขึ้นต่อกันของแพ็คเกจในสภาพแวดล้อม Python ของคุณ
สำหรับวิธีการติดตั้งแบบอื่น ให้โคลนซอร์สโค้ดจากที่เก็บโปรเจ็กต์และติดตั้งด้วยตนเอง
โคลนที่เก็บ:
git clone https://github.com/ranjan-mohanty/vfs-appointment-bot
นำทางไปยังไดเร็กทอรีโครงการ:
cd vfs-appointment-bot
สร้างสภาพแวดล้อมเสมือน (แนะนำ):
python3 -m venv venv
สิ่งนี้จะสร้างสภาพแวดล้อมเสมือนชื่อ venv
เพื่อแยกการพึ่งพาโปรเจ็กต์จากการติดตั้ง Python ทั่วทั้งระบบ ( แนะนำ )
เปิดใช้งานสภาพแวดล้อมเสมือน:
ลินุกซ์/macOS:
source venv/bin/activate
หน้าต่าง:
venv S cripts a ctivate
ติดตั้งการพึ่งพา:
pip install poetry
poetry install
ติดตั้งการพึ่งพานักเขียนบทละคร:
playwright install
ดาวน์โหลดเทมเพลต config/config.ini
curl -L https://raw.githubusercontent.com/ranjan-mohanty/vfs-appointment-bot/main/config/config.ini -o config.ini
อัปเดตข้อมูลรับรอง vfs และการตั้งค่าช่องทางการแจ้งเตือน ดูส่วนช่องทางการแจ้งเตือนสำหรับรายละเอียดเกี่ยวกับการกำหนดค่าการแจ้งเตือนอีเมล Twilio และ Telegram
ส่งออกเส้นทางของไฟล์กำหนดค่าไปยังตัวแปรสภาพแวดล้อม VFS_BOT_CONFIG_PATH
export VFS_BOT_CONFIG_PATH= < your-config-path > /config.ini
หากคุณติดตั้งสคริปต์โดยการโคลนพื้นที่เก็บข้อมูล (การติดตั้งด้วยตนเอง) คุณสามารถแก้ไขค่าใน config/config.ini
ได้โดยตรง
อาร์กิวเมนต์บรรทัดคำสั่ง:
สคริปต์กำหนดให้ระบุรหัสประเทศต้นทางและปลายทาง (ตามมาตรฐาน ISO 3166-1 alpha-2) เป็นอาร์กิวเมนต์บรรทัดคำสั่งโดยใช้ -sc
หรือ --source-country-code
และ -dc
หรือ --destination-country-code
ตัวเลือก --destination-country-code
การรันสคริปต์:
มีสองวิธีในการระบุรายละเอียดการนัดหมายที่จำเป็น:
การตอบสนองต่อพรอมต์ผู้ใช้ (แนะนำ):
vfs-appointment-bot -sc IN -dc DE
สคริปต์จะแจ้งให้คุณป้อนพารามิเตอร์การนัดหมายที่จำเป็นสำหรับประเทศที่ระบุ
การใช้ -ap
หรือ --appointment-params
:
ระบุรายละเอียดการนัดหมายในรูปแบบคีย์-ค่าที่คั่นด้วยเครื่องหมายจุลภาค ( ไม่คั่นด้วยช่องว่าง ):
vfs-appointment-bot -sc IN -dc DE -ap visa_center=X,visa_category=Y,visa_sub_category=Z
จากนั้นสคริปต์จะเชื่อมต่อกับเว็บไซต์ VFS Global สำหรับประเทศที่ระบุ ค้นหาการนัดหมายที่มีอยู่โดยใช้พารามิเตอร์ที่ให้ไว้หรือที่ป้อน และอาจส่งการแจ้งเตือน (ขึ้นอยู่กับการกำหนดค่าของคุณ)
ขณะนี้รองรับช่องทางการแจ้งเตือนสามช่องทางเพื่อแจ้งให้คุณทราบเกี่ยวกับความพร้อมในการนัดหมาย:
การกำหนดค่าการแจ้งเตือน:
อีเมล:
บัญชีอีเมล: คุณจะต้องมี บัญชี Gmail เพื่อส่งการแจ้งเตือน
รหัสผ่านสำหรับแอป: สร้างรหัสผ่านสำหรับแอปสำหรับบัญชี Gmail ของคุณแทนรหัสผ่านปกติ ดูคำแนะนำของ Google สำหรับการสร้างรหัสผ่านสำหรับแอป: https://support.google.com/accounts/answer/185833?hl=th
ไฟล์การกำหนดค่า: อัปเดตไฟล์การกำหนดค่าแอปพลิเคชันของคุณ ( config.ini
) โดยมีรายละเอียดดังต่อไปนี้:
email
(จำเป็น): ที่อยู่ Gmail ของคุณpassword
(จำเป็น): รหัสผ่านแอป Gmail ที่คุณสร้างขึ้นทวิลิโอ:
สร้างบัญชี Twilio (หากจำเป็น): ลงทะเบียนเพื่อรับบัญชี Twilio ฟรีที่ https://www.twilio.com/en-us เพื่อรับข้อมูลรับรองบัญชีและหมายเลขโทรศัพท์
ดึงข้อมูลประจำตัว: ค้นหา SID บัญชีของคุณ โทเค็นการตรวจสอบสิทธิ์ และหมายเลขโทรศัพท์ภายในแดชบอร์ดบัญชี Twilio ของคุณ
ไฟล์การกำหนดค่า: อัปเดตไฟล์การกำหนดค่าแอปพลิเคชันของคุณ ( config.ini
) ด้วย:
auth_token
(จำเป็น): โทเค็นการตรวจสอบสิทธิ์ Twilio ของคุณaccount_sid
(จำเป็น): SID บัญชี Twilio ของคุณsms_enabled
(ไม่บังคับ): เปิดใช้งานการแจ้งเตือนทาง SMS (ค่าเริ่มต้น: True)call_enabled
(ไม่บังคับ): เปิดใช้งานการแจ้งเตือนการโทรด้วยเสียง (ค่าเริ่มต้น: เท็จ)url
(ไม่บังคับ): Twilio API URL (จำเป็นเฉพาะเมื่อเปิดใช้งานการโทร)to_num
(จำเป็น): หมายเลขโทรศัพท์ของผู้รับสำหรับการแจ้งเตือนfrom_num
(จำเป็น): หมายเลขโทรศัพท์ Twilio ที่คุณจะใช้สำหรับส่งข้อความโทรเลข:
สร้าง Telegram Bot: ไปที่ https://telegram.me/BotFather เพื่อสร้าง Telegram bot ปฏิบัติตามคำแนะนำบนหน้าจอเพื่อรับโทเค็นของบอท
ไฟล์การกำหนดค่า: อัปเดตไฟล์การกำหนดค่าแอปพลิเคชันของคุณ ( config.ini
) ด้วย:
bot_token
(จำเป็น): โทเค็นบอท Telegram ของคุณที่ได้รับจาก BotFatherchat_id
(ไม่บังคับ): ID แชท Telegram เฉพาะที่คุณต้องการรับการแจ้งเตือน หากละเว้น บอทจะส่งการแจ้งเตือนไปยังแชทที่ส่งข้อความมา หากต้องการค้นหา ID แชทของคุณ คุณสามารถสร้างแชทกลุ่มกับตัวคุณเอง จากนั้นใช้คำสั่ง /my_id
ภายในบอท ตารางต่อไปนี้แสดงรายการประเทศที่รองรับในปัจจุบันและพารามิเตอร์การนัดหมายที่เกี่ยวข้อง:
ประเทศ | พารามิเตอร์การนัดหมาย |
---|---|
อินเดีย(IN) - เยอรมนี(DE) | visa_category, visa_sub_category, visa_center |
อิรัก(IQ) - เยอรมนี(DE) | visa_category, visa_sub_category, visa_center |
โมร็อกโก(แมสซาชูเซตส์) - อิตาลี(ไอที) | visa_category, visa_sub_category, visa_center, การชำระเงิน_โหมด |
อาเซอร์ไบจาน(AZ) - อิตาลี(IT) | visa_category, visa_sub_category, visa_center |
หมายเหตุ:
1. ความล้มเหลวในการเข้าสู่ระบบหลังจากการร้องขอบ่อยครั้ง:
หากบอทส่งคำขอเข้าสู่ระบบไปยังเว็บไซต์ VFS บ่อยเกินไป ระบบ VFS อาจบล็อกการเข้าถึงของคุณชั่วคราวเนื่องจากระบบอัตโนมัติที่น่าสงสัย ซึ่งอาจนำไปสู่การเข้าสู่ระบบล้มเหลว
2. การตรวจสอบ Captcha เป็นครั้งคราว:
เว็บไซต์ VFS ต้องมีขั้นตอนการตรวจสอบ CAPTCHA ระหว่างการเข้าสู่ระบบ ปัจจุบัน บอทไม่มีตัวแก้ปัญหา CAPTCHA ในตัว
browser_type
เป็น "chromium" or "webkit"
ในไฟล์ config.ini
ของคุณหมายเหตุ: เรากำลังทำงานอย่างต่อเนื่องเพื่อปรับปรุงการทำงานของบอท การอัปเดตในอนาคตอาจรวมถึงความสามารถในการแก้ไข CAPTCHA แบบรวม
ปัจจุบันสคริปต์นี้ได้รับการออกแบบให้ทำงานร่วมกับเว็บไซต์ VFS Global ในประเทศเยอรมนี อาจเป็นไปได้ที่จะขยายการสนับสนุนไปยังประเทศอื่นๆ โดยการแก้ไขสคริปต์เพื่อรองรับการเปลี่ยนแปลงที่อาจเกิดขึ้นในโครงสร้างเว็บไซต์และข้อกำหนดพารามิเตอร์ในหน้าต่างๆ ของประเทศต่างๆ ของ VFS Global
เรายินดีรับการสนับสนุนจากชุมชนเพื่อปรับปรุงโครงการนี้! คุณสามารถมีส่วนร่วมได้ดังนี้:
สคริปต์นี้จัดทำขึ้นตามที่เป็นอยู่และไม่มีส่วนเกี่ยวข้องกับ VFS Global คุณมีหน้าที่รับผิดชอบในการตรวจสอบให้แน่ใจว่าคุณปฏิบัติตามข้อกำหนดและเงื่อนไขของ VFS Global เมื่อใช้สคริปต์นี้ โปรดทราบว่าโครงสร้างเว็บไซต์และกลไกความพร้อมในการนัดหมายอาจเปลี่ยนแปลงเมื่อเวลาผ่านไป