يقوم برنامج Python النصي ( vfs-appointment-bot ) بأتمتة التحقق من المواعيد في بوابة VFS Global في بلد محدد.
يمكن تثبيت البرنامج النصي vfs-appointment-bot
باستخدام طريقتين:
إنها الطريقة المفضلة لتثبيت vfs-appointment-bot
. وإليك كيفية القيام بذلك:
إنشاء بيئة افتراضية (مستحسن):
python3 -m venv venv
يؤدي هذا إلى إنشاء بيئة افتراضية تسمى venv
لعزل تبعيات المشروع عن تثبيت Python على مستوى النظام ( موصى به ).
تفعيل البيئة الافتراضية:
لينكس/ماك:
source venv/bin/activate
ويندوز:
venv S cripts a ctivate
التثبيت باستخدام النقطة:
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 على مستوى النظام ( موصى به ).
تفعيل البيئة الافتراضية:
لينكس/ماك:
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=ar.
ملف التكوين: قم بتحديث ملف تكوين التطبيق الخاص بك ( config.ini
) بالتفاصيل التالية:
email
(مطلوب): عنوان Gmail الخاص بك.password
(مطلوبة): كلمة مرور تطبيق Gmail التي تم إنشاؤها.تويليو:
قم بإنشاء حساب Twilio (إذا لزم الأمر): قم بالتسجيل للحصول على حساب Twilio مجاني على https://www.twilio.com/en-us للحصول على بيانات اعتماد الحساب وأرقام الهواتف.
استرداد بيانات الاعتماد: حدد موقع SID الخاص بحسابك ورمز المصادقة وأرقام الهواتف ضمن لوحة معلومات حساب Twilio.
ملف التكوين: قم بتحديث ملف تكوين التطبيق الخاص بك ( config.ini
) باستخدام:
auth_token
(مطلوب): رمز مصادقة Twilio الخاص بكaccount_sid
(مطلوب): حساب Twilio الخاص بك SIDsms_enabled
(اختياري): تمكين إشعارات الرسائل القصيرة (الافتراضي: صحيح)call_enabled
(اختياري): تمكين إشعارات المكالمات الصوتية (الافتراضي: خطأ)url
(اختياري): عنوان URL لواجهة برمجة تطبيقات Twilio (مطلوب فقط في حالة تمكين الاتصال)to_num
(مطلوب): رقم هاتف المستلم للإشعاراتfrom_num
(مطلوب): رقم هاتف Twilio الذي ستستخدمه لإرسال الرسائلبرقية:
إنشاء روبوت Telegram: تفضل بزيارة https://telegram.me/BotFather لإنشاء روبوت Telegram. اتبع التعليمات التي تظهر على الشاشة للحصول على رمز الروبوت الخاص بك.
ملف التكوين: قم بتحديث ملف تكوين التطبيق الخاص بك ( config.ini
) باستخدام:
bot_token
(مطلوب): رمز بوت Telegram الخاص بك الذي تم الحصول عليه من BotFather.chat_id
(اختياري): معرف دردشة Telegram المحدد الذي تريد تلقي الإشعارات فيه. إذا تم حذفه، فسيقوم الروبوت بإرسال إشعارات إلى الدردشة التي تم إرسال الرسالة منها. للعثور على معرف الدردشة الخاص بك، يمكنك إنشاء دردشة جماعية مع نفسك فقط ثم استخدام الأمر /my_id
داخل الروبوت. يسرد الجدول التالي البلدان المدعومة حاليًا ومعلمات المواعيد المقابلة لها:
دولة | معلمات التعيين |
---|---|
الهند(IN) - ألمانيا(DE) | فئة التأشيرة، فئة_التأشيرة الفرعية، مركز التأشيرة |
العراق(IQ) - ألمانيا(DE) | فئة التأشيرة، فئة_التأشيرة الفرعية، مركز التأشيرة |
المغرب(MA) - إيطاليا(IT) | فئة_التأشيرة، فئة_التأشيرة_الفرعية، مركز_التأشيرة، وضع_الدفع |
أذربيجان(AZ) - إيطاليا(IT) | فئة التأشيرة، فئة_التأشيرة الفرعية، مركز التأشيرة |
ملحوظات:
1. فشل تسجيل الدخول بعد الطلبات المتكررة:
إذا قام الروبوت بتقديم طلبات تسجيل الدخول إلى موقع VFS بشكل متكرر جدًا، فقد يقوم نظام VFS بحظر وصولك مؤقتًا بسبب الأتمتة المشتبه بها. يمكن أن يؤدي هذا إلى فشل تسجيل الدخول.
2. التحقق من كلمة التحقق في بعض الأحيان:
يتطلب موقع VFS خطوة التحقق من CAPTCHA أثناء تسجيل الدخول. في الوقت الحالي، لا يحتوي الروبوت على حل CAPTCHA مدمج.
browser_type
على "chromium" or "webkit"
في ملف config.ini
الخاص بك.ملحوظة: نحن نعمل باستمرار على تحسين وظائف البوت. قد تتضمن التحديثات المستقبلية إمكانات حل اختبار CAPTCHA المتكاملة.
تم تصميم هذا البرنامج النصي حاليًا للعمل مع موقع VFS Global الإلكتروني الخاص بألمانيا. قد يكون من الممكن توسيع الدعم لبلدان أخرى عن طريق تعديل البرنامج النصي للتعامل مع الاختلافات المحتملة في بنية موقع الويب ومتطلبات المعلمات عبر صفحات VFS Global المختلفة للدول.
نحن نرحب بمساهمات المجتمع لتحسين هذا المشروع! وإليك كيف يمكنك المشاركة:
يتم توفير هذا البرنامج النصي كما هو ولا ينتمي إلى VFS Global. تقع على عاتقك مسؤولية التأكد من امتثالك لشروط وأحكام VFS Global عند استخدام هذا البرنامج النصي. انتبه إلى أن هياكل موقع الويب وآليات توفر المواعيد قد تتغير بمرور الوقت.