这个项目能做什么
NYRR 志愿者空位监视器是一个自动化脚本,旨在帮助志愿者在纽约路跑协会 (NYRR) 活动中抢占席位,特别是针对符合 '9+1' 计划的职位。该脚本运行在 GitHub Actions 上,无需本地机器,每 15 分钟执行一次。
工作原理:
1. 发现:使用无头 Chromium(Playwright)来抓取 NYRR 志愿者机会页面,收集无法通过普通 HTTP 请求获取的活动链接。
2. 可用性检查:通过简单的 GET 请求获取每个活动页面,判断职位状态(可用 vs. 已售罄),并识别是否带有 9+1 标签。
3. 通知:将当前状态与保存的状态(`state.json`)进行比较。如果检测到变化(例如,空位出现或新活动发布),则通过 ntfy.sh 向用户的手机发送推送通知。这样可以避免垃圾信息,因为通知只在状态转换时发送。
设置:
- 在 iOS 或 Android 上安装 ntfy 应用,并订阅一个唯一的主题。
- 配置 GitHub 仓库,添加必要的脚本,并设置 `NTFY_TOPIC` 密钥。
- 手动运行工作流以初始化状态文件,并验证通知是否正常。
调整与限制:
- 用户可以调整 cron 时间表,或禁用 9+1 过滤器以监控所有空位。
- 该工具监控的是匿名视图的活动页面,因此在提前预订窗口期间,为登录的 Member+ 账户保留的席位可能直到通用开放时才会被检测到。
- 它不会自动注册(这涉及 reCAPTCHA),只会提醒用户快速行动。
评论
0 评分人数达到10人后显示
登录后参与讨论。