Files
3288588344-toulu/STOKKE.PY
2025-08-09 18:17:05 +08:00

102 lines
3.3 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
#抓包www.stokkeshop.cn域名下的Authori-zation值填到环境变量STOKKE中多账号用&分割
#入口:http://mx.qrurl.net/h5/wxa/link?sid=25726gMa4HG
import os
import re
import requests
from typing import List, Dict, Tuple
# ---------- 通用请求头 ----------
_BASE_HEADERS = {
"Host": "www.stokkeshop.cn",
"Connection": "keep-alive",
"content-type": "application/json",
"charset": "utf-8",
"Referer": "https://servicewechat.com/wxe232c36aaca3dc1a/34/page-frame.html",
"Accept-Encoding": "gzip, deflate, br"
}
# ---------- 获取用户信息 ----------
def _get_user_info(token: str) -> Dict[str, str]:
url = "https://www.stokkeshop.cn/api/front/user"
headers = _BASE_HEADERS.copy()
headers["Authori-zation"] = token
try:
resp = requests.get(url, headers=headers, timeout=10)
resp.raise_for_status()
data = resp.json()
if data.get("code") != 200:
return {}
d = data["data"]
raw_phone = d["phone"]
masked = re.sub(r"(\d{3})\d{4}(\d{4})", r"\1****\2", raw_phone)
return {"nick": d["nickname"], "phone": masked, "integral": str(d["integral"])}
except Exception:
return {}
# ---------- 签到 ----------
def week_sign_all() -> None:
tokens = os.getenv("STOKKE", "").split("&")
if not tokens or tokens == [""]:
print("⚠️ 环境变量 STOKKE 为空,未配置任何 账号信息。")
return
url = "https://www.stokkeshop.cn/api/front/integral-task/finishWeekSign"
payload = {}
for token in tokens:
token = token.strip()
if not token:
continue
user = _get_user_info(token)
if not user:
print("❌ 获取用户信息失败,跳过当前账号。")
print("=" * 45)
continue
headers = _BASE_HEADERS.copy()
headers["Authori-zation"] = token
try:
resp = requests.post(url, json=payload, headers=headers, timeout=10)
resp.raise_for_status()
data = resp.json()
ok = data.get("code") == 200
print(
f"{'' if ok else ''} "
f"{user['nick']}({user['phone']}) 签到{'成功' if ok else '失败'}"
f"当前积分 {user['integral']}"
)
print("=" * 45)
except Exception as e:
print(
f"❗ 网络异常:{user['nick']}({user['phone']}) 签到失败,当前积分 {user['integral']} "
f"({e})"
)
# -------------------- 公告 --------------------
def get_proclamation():
primary_url = "https://github.com/3288588344/toulu/raw/refs/heads/main/tl.txt"
backup_url = "https://tfapi.cn/TL/tl.json"
for url in (primary_url, backup_url):
try:
r = requests.get(url, timeout=10)
if r.status_code == 200:
print("📢 公告信息")
print("=" * 45)
print(r.text)
print("=" * 45 + "\n")
return
except Exception as e:
continue
print("⚠️ 获取公告失败,跳过公告直接执行签到...\n")
# ---------- 示例 ----------
if __name__ == "__main__":
get_proclamation()
week_sign_all()