منصوبے کے بارے میں
NYRR رضاکار-اسلاٹ واچر ایک آٹومیشن اسکرپٹ ہے جو رضاکاروں کو New York Road Runners (NYRR) کے ایونٹس میں جگہیں حاصل کرنے میں مدد کے لیے ڈیزائن کیا گیا ہے، خاص طور پر '9+1' پروگرام کے لیے اہل کرداروں کو نشانہ بنا کر۔ GitHub Actions پر چلتے ہوئے، یہ مقامی مشین سے آزادانہ طور پر کام کرتا ہے، ہر 15 منٹ بعد رضاکارانہ مواقع کی جانچ کرتا ہے۔
یہ کیسے کام کرتا ہے:
1. دریافت: NYRR رضاکارانہ مواقع کے صفحے کو سکرپ کرنے کے لیے headless Chromium (Playwright) کا استعمال کرتا ہے، ایونٹ لنکس جمع کرتا ہے جو سادہ HTTP درخواستوں کے ذریعے قابل رسائی نہیں ہیں۔
2. دستیابی کی جانچ: ہر ایونٹ صفحے کو سادہ GET درخواستوں کے ذریعے حاصل کرتا ہے تاکہ کردار کی حیثیت کا تعین کیا جا سکے (Available vs. Sold Out) اور یہ معلوم کیا جا سکے کہ آیا کردار 9+1 ٹیگ رکھتا ہے۔
3. نوٹیفیکیشن: موجودہ حیثیت کا موازنہ محفوظ شدہ حالت (`state.json`) سے کرتا ہے۔ اگر کوئی تبدیلی کا پتہ چلتا ہے (مثلاً، ایک جگہ کھل جاتی ہے یا ایک نیا ایونٹ درج ہوتا ہے)، تو یہ صارف کے فون پر ntfy.sh کے ذریعے ایک پش نوٹیفیکیشن بھیجتا ہے۔ یہ اس بات کو یقینی بناتا ہے کہ کوئی اسپام نہ ہو، کیونکہ نوٹیفیکیشن صرف منتقلی پر بھیجے جاتے ہیں۔
سیٹ اپ:
- iOS یا Android پر ntfy ایپ انسٹال کریں اور ایک منفرد ٹاپک کو سبسکرائب کریں۔
- GitHub ریپوزٹری کو ضروری اسکرپٹس کے ساتھ ترتیب دیں اور `NTFY_TOPIC` سیکریٹ سیٹ کریں۔
- حالت فائل کو شروع کرنے اور نوٹیفیکیشن کی تصدیق کے لیے ورک فلو کو دستی طور پر چلائیں۔
ٹوننگ اور حدود:
- صارفین کرون شیڈول کو ایڈجسٹ کر سکتے ہیں یا 9+1 فلٹر کو غیر فعال کر سکتے ہیں تاکہ تمام اوپننگز کی نگرانی کی جا سکے۔
- یہ ٹول ایونٹ صفحات کے گمنام منظر کی نگرانی کرتا ہے، لہذا Member+ اکاؤنٹس کے لیے ایڈوانس ونڈوز کے دوران محفوظ شدہ جگہیں عام کھلنے تک پتہ نہیں چل سکتی ہیں۔
- یہ رجسٹریشن کو خودکار نہیں کرتا (جس میں reCAPTCHA شامل ہے)؛ یہ صرف صارف کو فوری عمل کرنے کے لیے الرٹ کرتا ہے۔
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.