更新 YYB/YYB_HSY.py

This commit is contained in:
2026-10-05 23:11:23 +08:00
parent aeb10c60de
commit d0506fb26c
+80 -8
View File
@@ -288,33 +288,104 @@ def notify(lines):
print(f"[通知] 发送失败(不影响任务):{exc}") print(f"[通知] 发送失败(不影响任务):{exc}")
def build_notify(accounts):
"""按精简跳行版式渲染通知:汇总行 + 每账号(昵称/余额/已跑/未跑),账户间空行。"""
ok_n = sum(1 for a in accounts if a["success"])
fail_n = len(accounts) - ok_n
content = f"""♻️ 回收猿签到 · {time.strftime('%Y-%m-%d %H:%M')}
✅ {ok_n} 成功 / {fail_n} 失败
"""
for a in accounts:
if a["success"]:
content += f"""
▸ {a['label']}
✅ 奖励金 {a['balance']:.2f} 元
"""
if a["done"]:
content += f"已跑: {'、'.join(a['done'])}\n"
if a["pending"]:
content += f"未跑: {'、'.join(a['pending'])}\n"
else:
content += f"""
▸ {a['label']}
❌ 失败
原因: {(a['error'] or '未知错误').strip()}
"""
content += "\n"
return content.strip()
def run_one(index, server, ref, nick, context): def run_one(index, server, ref, nick, context):
"""运行单个账号;返回 (日志行列表, 通知摘要 dict)。"""
label = nick or f"YYB {ref}" label = nick or f"YYB {ref}"
result = [f"账号 {index}({label})"] result = [f"账号 {index}({label})"]
summary = {"label": label, "success": True, "balance": None,
"error": None, "done": [], "pending": []}
session = requests.Session() session = requests.Session()
session.headers.update({"User-Agent": "Mozilla/5.0 MicroMessenger/7.0.20.1781 MiniProgramEnv/Windows"}) session.headers.update({"User-Agent": "Mozilla/5.0 MicroMessenger/7.0.20.1781 MiniProgramEnv/Windows"})
try: try:
username = login(session, server, ref, context) username = login(session, server, ref, context)
initial, _ = center(session, username) initial, _ = center(session, username)
result.append(f"初始奖励金:{initial:.2f} 元") result.append(f"初始奖励金:{initial:.2f} 元")
result.append(sign_in(session, username)) summary["balance"] = initial
result.append(lucky_draw(session, username))
result.extend(join_zero_event(session, username)) msg = sign_in(session, username)
result.append(msg)
if "成功" in msg or "已签到" in msg:
summary["done"].append("签到")
else:
summary["error"] = msg
summary["success"] = False
msg = lucky_draw(session, username)
result.append(msg)
if "无可用次数" in msg:
summary["pending"].append("幸运抽奖")
elif "失败" in msg:
summary["error"] = msg
summary["success"] = False
else:
summary["done"].append("幸运抽奖")
msgs = join_zero_event(session, username)
result.extend(msgs)
for m in msgs:
if "参加成功" in m or "已参加" in m:
summary["done"].append("0元夺宝")
elif "失败" in m:
if summary["error"] is None:
summary["error"] = m
summary["success"] = False
else:
summary["pending"].append("0元夺宝")
time.sleep(1) time.sleep(1)
final, _ = center(session, username) final, _ = center(session, username)
summary["balance"] = final
result.append(f"最终奖励金:{final:.2f} 元") result.append(f"最终奖励金:{final:.2f} 元")
result.append(withdraw_all(session, username))
msg = withdraw_all(session, username)
result.append(msg)
if "跳过" in msg:
summary["pending"].append("提现")
elif "已发起" in msg or "已提交" in msg:
summary["done"].append("提现")
else:
summary["error"] = msg
summary["success"] = False
except Exception as exc: except Exception as exc:
result.append(f"失败:{exc}") result.append(f"失败:{exc}")
summary["error"] = str(exc)
summary["success"] = False
print(" | ".join(result)) print(" | ".join(result))
return result return result, summary
def main(): def main():
context = bind_context() context = bind_context()
output = ["回收猿:超过 1.00 元时尝试一次全额提现"]
skip = blacklist() skip = blacklist()
routes_list = routes() routes_list = routes()
accounts = []
ran = False ran = False
for index, (server, ref, nick) in enumerate(routes_list, 1): for index, (server, ref, nick) in enumerate(routes_list, 1):
label = nick or f"YYB {ref}" label = nick or f"YYB {ref}"
@@ -325,9 +396,10 @@ def main():
delay = random.randint(5, 20) delay = random.randint(5, 20)
print(f"[延迟] {delay} 秒后运行下一个账号") print(f"[延迟] {delay} 秒后运行下一个账号")
time.sleep(delay) time.sleep(delay)
output.extend(run_one(index, server, ref, nick, context)) _, summary = run_one(index, server, ref, nick, context)
accounts.append(summary)
ran = True ran = True
notify(output) notify(build_notify(accounts))
if __name__ == "__main__": if __name__ == "__main__":