প্রকল্প সম্পর্কে
NYRR volunteer-slot watcher হল একটি অটোমেশন স্ক্রিপ্ট যা স্বেচ্ছাসেবকদের New York Road Runners (NYRR) ইভেন্টগুলিতে স্পট সুরক্ষিত করতে সাহায্য করার জন্য ডিজাইন করা হয়েছে, বিশেষ করে '9+1' প্রোগ্রামের জন্য যোগ্য ভূমিকাগুলির লক্ষ্য করে। GitHub Actions-এ চলমান, এটি একটি স্থানীয় মেশিনের স্বাধীনভাবে কাজ করে, প্রতি 15 মিনিটে স্বেচ্ছাসেবক সুযোগগুলি পরীক্ষা করে।
এটি কীভাবে কাজ করে:
1. আবিষ্কার: NYRR স্বেচ্ছাসেবক সুযোগ পৃষ্ঠাটি স্ক্র্যাপ করতে headless Chromium (Playwright) ব্যবহার করে, ইভেন্ট লিঙ্কগুলি সংগ্রহ করে যা সাধারণ HTTP অনুরোধের মাধ্যমে অ্যাক্সেসযোগ্য নয়।
2. প্রাপ্যতা পরীক্ষা: ভূমিকা স্থিতি (উপলব্ধ বনাম বিক্রি হয়ে গেছে) নির্ধারণ করতে এবং 9+1 ট্যাগ বহন করে এমন ভূমিকা চিহ্নিত করতে প্রতিটি ইভেন্ট পৃষ্ঠাটি সাধারণ GET অনুরোধের মাধ্যমে ফ্রেচ করে।
3. নোটিফিকেশন: একটি সংরক্ষিত অবস্থার (`state.json`) সাথে বর্তমান অবস্থার তুলনা করে। যদি কোনো পরিবর্তন সনাক্ত করা হয় (যেমন, একটি স্পট খোলা বা একটি নতুন ইভেন্ট তালিকাভুক্ত), তবে এটি ntfy.sh এর মাধ্যমে ব্যবহারকারীর ফোনে একটি পুশ নোটিফিকেশন পাঠায়। এটি নিশ্চিত করে যে কোনো স্প্যাম নেই, কারণ নোটিফিকেশনগুলি শুধুমাত্র পরিবর্তনের সময় পাঠানো হয়।
সেটআপ:
- iOS বা Android-এ ntfy অ্যাপ ইনস্টল করুন এবং একটি অনন্য টপিকের জন্য সাবস্ক্রাইব করুন।
- প্রয়োজনীয় স্ক্রিপ্টগুলির সাথে GitHub repository কনফিগার করুন এবং `NTFY_TOPIC` সিক্রেট সেট করুন।
- অবস্থা ফাইলটি ইনিশিয়ালাইজ করতে এবং নোটিফিকেশন যাচাই করতে ম্যানুয়ালি ওয়ার্কফ্লো চালান।
টিউনিং এবং সীমাবদ্ধতা:
- ব্যবহারকারীরা cron সময়সূচী সামঞ্জস্য করতে পারেন বা সমস্ত খোলার জন্য 9+1 ফিল্টার নিষ্ক্রিয় করতে পারেন।
- টুলটি ইভেন্ট পৃষ্ঠাগুলির বেনামী ভিউ পর্যবেক্ষণ করে, তাই অগ্রিম উইন্ডো চলাকালীন লগড-ইন Member+ অ্যাকাউন্টগুলির জন্য সংরক্ষিত স্লটগুলি সাধারণ খোলার আগ পর্যন্ত সনাক্ত করা নাও হতে পারে।
- এটি রেজিস্ট্রেশন স্বয়ংক্রিয় করে না (যা reCAPTCHA জড়িত); এটি শুধুমাত্র ব্যবহারকারীকে দ্রুত কাজ করার জন্য সতর্ক করে।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.