MCPcopy Create free account
hub / github.com/smallfawn/QLScriptPublic / submit_checkin

Method submit_checkin

daily/360.py:65–97  ·  view source on GitHub ↗

提交签到请求

(self, formhash: str)

Source from the content-addressed store, hash-verified

63 return m.group(1), "OK"
64
65 def submit_checkin(self, formhash: str) -> CheckinResult:
66 """提交签到请求"""
67 moods = ["kx", "ym", "tp", "ng", "wl"]
68 payload = {
69 "formhash": formhash,
70 "qdxq": random.choice(moods),
71 "qdmode": "1",
72 "todaysay": random.choice([
73 "打卡签到,愿一切顺利!",
74 "新的一天,继续加油~",
75 "保持热爱,奔赴山海。",
76 "今日签到,万事胜意。",
77 "坚持自律,慢慢变强。",
78 ]),
79 "fastreply": "0",
80 }
81
82 resp = self.session.post(SIGN_API, data=payload, timeout=self.timeout)
83 raw = resp.text or ""
84
85 # 青龙面板特殊处理:返回403或500
86 if resp.status_code != 200:
87 return CheckinResult(False, f"http_{resp.status_code}", f"HTTP {resp.status_code}")
88
89 # 检查签到结果
90 if "签到成功" in raw or ("恭喜" in raw and "签到" in raw):
91 return CheckinResult(True, "success", self._extract_message(raw) or "签到成功")
92 if "已经签到" in raw or "已签到" in raw or "请勿重复签到" in raw:
93 return CheckinResult(True, "already", self._extract_message(raw) or "今日已签到")
94 if ("formhash" in raw and "错误" in raw) or "请求无效" in raw:
95 return CheckinResult(False, "bad_formhash", self._extract_message(raw) or "formhash无效/过期")
96
97 return CheckinResult(False, "unknown", self._extract_message(raw) or raw[:200])
98
99 @staticmethod
100 def _extract_message(text: str) -> str:

Callers 1

runMethod · 0.95

Calls 3

_extract_messageMethod · 0.95
CheckinResultClass · 0.85
postMethod · 0.45

Tested by

no test coverage detected