इस प्रोजेक्ट के बारे में

NYRR स्वयंसेवक-स्लॉट वॉचर एक ऑटोमेशन स्क्रिप्ट है जिसे स्वयंसेवकों को न्यू यॉर्क रोड रनर्स (NYRR) इवेंट्स में स्थान सुरक्षित करने में मदद करने के लिए डिज़ाइन किया गया है, विशेष रूप से '9+1' प्रोग्राम के लिए पात्र भूमिकाओं को लक्षित करते हुए। GitHub Actions पर चलने वाला यह टूल, स्थानीय मशीन से स्वतंत्र रूप से काम करता है, हर 15 मिनट में स्वयंसेवक अवसरों की जांच करता है। यह कैसे काम करता है: 1. खोज: NYRR स्वयंसेवक अवसरों के पेज को स्क्रैप करने के लिए हेडलेस क्रोमियम (Playwright) का उपयोग करता है, इवेंट लिंक एकत्र करता है जो साधारण HTTP अनुरोधों के माध्यम से उपलब्ध नहीं हैं। 2. उपलब्धता जांच: भूमिका की स्थिति (उपलब्ध बनाम बिक गया) निर्धारित करने के लिए प्रत्येक इवेंट पेज को साधारण GET अनुरोधों के माध्यम से fetches और यह पहचानता है कि क्या भूमिका में 9+1 टैग है। 3. अधिसूचना: वर्तमान स्थिति की तुलना एक सहेजे गए स्टेट (`state.json`) से करता है। यदि कोई परिवर्तन होता है (जैसे, एक स्थान खुल जाता है या एक नया इवेंट सूचीबद्ध होता है), तो यह उपयोगकर्ता के फोन पर ntfy.sh के माध्यम से एक पुश नोटिफिकेशन भेजता है। यह सुनिश्चित करता है कि कोई स्पैम नहीं हो, क्योंकि नोटिफिकेशन केवल ट्रांजिशन पर भेजे जाते हैं। सेटअप: - iOS या Android पर ntfy ऐप इंस्टॉल करें और एक अद्वितीय टॉपिक को सब्सक्राइब करें। - आवश्यक स्क्रिप्ट्स के साथ GitHub रिपॉजिटरी को कॉन्फ़िगर करें और `NTFY_TOPIC` सीक्रेट सेट करें। - स्टेट फाइल को इनिशियलाइज़ करने और नोटिफिकेशन को सत्यापित करने के लिए वर्कफ़्लो को मैन्युअल रूप से चलाएं। ट्यूनिंग और सीमाएं: - उपयोगकर्ता सभी openings की निगरानी करने के लिए cron शेड्यूल को समायोजित कर सकते हैं या 9+1 फ़िल्टर को निष्क्रिय कर सकते हैं। - यह टूल इवेंट पेजों के गुमनाम दृश्य की निगरानी करता है, इसलिए एडवांस विंडो के दौरान लॉग-इन किए गए Member+ अकाउंट्स के लिए आरक्षित स्लॉट तब तक पता नहीं चल सकते जब तक कि वे सामान्य रूप से नहीं खुल जाते। - यह पंजीकरण को स्वचालित नहीं करता है (जिसमें reCAPTCHA शामिल है); यह केवल उपयोगकर्ता को जल्दी कार्रवाई करने के लिए अलर्ट करता है।