عن المشروع

مراقب مقاعد تطوع NYRR هو نص برمجي للأتمتة مصمم لمساعدة المتطوعين على تأمين مقاعد في أحداث New York Road Runners (NYRR)، مع استهداف الأدوار المؤهلة لبرنامج '9+1'. يعمل على GitHub Actions، ويعمل بشكل مستقل عن الجهاز المحلي، ويتحقق من فرص التطوع كل 15 دقيقة. كيف يعمل: 1. الاكتشاف: يستخدم Chromium بدون رأس (Playwright) لجمع بيانات صفحات فرص تطوع NYRR، ويجمع روابط الأحداث التي لا يمكن الوصول إليها عبر طلبات HTTP العادية. 2. التحقق من التوفر: يجلب كل صفحة حدث عبر طلبات GET بسيطة لتحديد حالة الدور (متاح مقابل مباع) ويحدد ما إذا كان الدور يحمل علامة 9+1. 3. الإشعار: يقارن الحالة الحالية مع الحالة المحفوظة (`state.json`). إذا تم اكتشاف تغيير (مثل فتح مقعد أو إدراج حدث جديد)، فإنه يرسل إشعار دفع إلى هاتف المستخدم عبر ntfy.sh. يضمن ذلك عدم وجود رسائل غير مرغوب فيها، حيث يتم إرسال الإشعارات فقط عند حدوث انتقالات. الإعداد: - قم بتثبيت تطبيق ntfy على iOS أو Android واشترك في موضوع فريد. - قم بتهيئة مستودع GitHub بالنصوص اللازمة واضبط سر `NTFY_TOPIC`. - قم بتشغيل سير العمل يدويًا لتهيئة ملف الحالة والتحقق من الإشعارات. الضبط والقيود: - يمكن للمستخدمين ضبط جدول cron أو تعطيل فلتر 9+1 لمراقبة جميع الفتحات. - تراقب الأداة العرض المجهول لصفحات الأحداث، لذا قد لا يتم اكتشاف المقاعد المحجوزة لحسابات Member+ المسجلة الدخول أثناء نوافذ التقدم حتى الفتح العام. - لا تقوم بأتمتة التسجيل (الذي يتضمن reCAPTCHA)؛ إنها فقط تنبه المستخدم للتحرك بسرعة.