mirror of
https://github.com/mikumifa/biliTickerBuy.git
synced 2026-08-15 03:25:04 -04:00
main
抢票成功后配置的推送(ntfy 等)大概率丢失。根因三处叠加: 1. 推送器仅在中奖瞬间才创建并首次发送,全程不预检链路; 2. 各渠道 send_message 的 requests.post 无 timeout,POST 挂起即无限阻塞; 3. Notifier 线程为 daemon,join_all(timeout=15) 后进程退出(UI 模式 os._exit) 直接杀线程,未发完的重发全部丢失。 修复(子进程内,无头/UI 两模式通吃): - 全渠道 send_message 补 timeout + raise_for_status(非2xx 触发重试); - NotifierBase 新增 send_once_sync(同步阻塞发送 + 指数退避重试); - NotifierManager 新增 send_all_sync:抢票成功后在进程退出前做一次同步 确认送达(带 timeout+重试),不依赖 daemon 线程; - buy 进入等待前 _precheck_notifiers 轻量预检并打日志,失败只告警不阻断; - 超时/重试/退避改为可配(NotifierConfig 4 参数,CLI/env/db/runtime 四路), 并在 Gradio 推送设置页加对应控件。 Closes #1104
💻 快速安装
请查看完整的 安装指南。
👀 使用说明书
前往飞书: https://n1x87b5cqay.feishu.cn/wiki/Eg4xwt3Dbiah02k1WqOcVk2YnMd
❗ 项目问题
程序使用问题: 点此链接前往 discussions
反馈程序 BUG 或者提新功能建议: 点此链接向项目提出反馈 BUG
Related Work
Skill版本:https://github.com/mikumifa/biliTickerSkill
分布式版本:https://github.com/mikumifa/biliTickerStorm
📩 免责声明
本项目遵循 PolyForm Noncommercial License 1.0.0 许可协议,仅供个人学习与研究使用。未经作者书面授权,不得用于任何商业用途、商业服务、代抢服务或其他营利行为。严禁将本项目用于违法行为或违反相关平台规则的用途。由此产生的一切后果均由使用者自行承担,与作者无关。 若您 fork 或使用本项目,请务必遵守相关法律法规与目标平台规则。
🛡️ 平台尊重声明
本项目在设计时严格遵循「非侵入式」原则,避免对目标服务器(如 Bilibili)造成任何干扰。 如本项目中存在侵犯 Bilibili 公司合法权益的内容,请通过邮箱 1055069518@qq.com 与我联系,我将第一时间下架相关内容并删除本仓库。对此造成的不便,我深表歉意,感谢您的理解与包容。
🤩 项目贡献者
⭐️ Star History
Languages
Python
90.8%
CSS
5.2%
Shell
2.8%
Batchfile
1.1%
Dockerfile
0.1%