mirror of
https://github.com/3288588344/toulu.git
synced 2025-12-16 23:11:00 +08:00
Add files via upload
This commit is contained in:
127
Babycare.py
Normal file
127
Babycare.py
Normal file
@@ -0,0 +1,127 @@
|
|||||||
|
#by:哆啦A梦
|
||||||
|
#TL库
|
||||||
|
#入口:小程序-Babycare官方旗舰店
|
||||||
|
#抓包api.bckid.com.cn域名下的authorization,多账号换行分割
|
||||||
|
|
||||||
|
import os
|
||||||
|
import requests
|
||||||
|
import json
|
||||||
|
|
||||||
|
# 从环境变量中获取 token,支持多账号换行分割
|
||||||
|
tokens = os.environ.get('Babycare', '').split('\n')
|
||||||
|
|
||||||
|
# 定义 URL
|
||||||
|
url = "https://api.bckid.com.cn/operation/front/bonus/userSign/v3/sign"
|
||||||
|
primary_url = "https://github.com/3288588344/toulu/raw/refs/heads/main/tl.txt"
|
||||||
|
backup_url = "https://tfapi.cn/TL/tl.json"
|
||||||
|
|
||||||
|
# 定义请求头
|
||||||
|
headers = {
|
||||||
|
"Host": "api.bckid.com.cn",
|
||||||
|
"content-length": "2",
|
||||||
|
"content-type": "application/json",
|
||||||
|
"charset": "utf-8",
|
||||||
|
"referer": "https://servicewechat.com/wxab5642d7bced2dcc/447/page-frame.html",
|
||||||
|
"accept-encoding": "gzip, deflate, br"
|
||||||
|
}
|
||||||
|
|
||||||
|
def print_divider():
|
||||||
|
print("\n" + "=" * 35)
|
||||||
|
|
||||||
|
def print_account_info(account_num, token):
|
||||||
|
print_divider()
|
||||||
|
print(f"🤖 正在为账号 {account_num} 签到...")
|
||||||
|
print_divider()
|
||||||
|
|
||||||
|
def print_sign_success(account_num, result):
|
||||||
|
print_divider()
|
||||||
|
print(f"🎉 账号 {account_num} 签到成功!")
|
||||||
|
print(f"💪 最大连续签到天数: {result.get('maxSignDay', '信息获取失败')}")
|
||||||
|
print(f"📅 当前连续签到天数: {result.get('signDaysCount', '信息获取失败')}")
|
||||||
|
print(f"🎁 抽奖机会: {result.get('lotteryCount', '信息获取失败')}")
|
||||||
|
print_divider()
|
||||||
|
|
||||||
|
def print_already_signed(account_num):
|
||||||
|
|
||||||
|
print(f"👻 账号 {account_num} 今天已经签到过了,请明天再来!")
|
||||||
|
print_divider()
|
||||||
|
|
||||||
|
def print_sign_failed(account_num, message):
|
||||||
|
|
||||||
|
print(f"❌ 账号 {account_num} 签到失败!错误信息: {message}")
|
||||||
|
print_divider()
|
||||||
|
|
||||||
|
def print_empty_token(account_num):
|
||||||
|
|
||||||
|
print(f"⚠️ 账号 {account_num} 的 token 为空,跳过")
|
||||||
|
print_divider()
|
||||||
|
|
||||||
|
def print_request_error(account_num, error):
|
||||||
|
|
||||||
|
print(f"⚠️ 账号 {account_num} 请求异常: {error}")
|
||||||
|
print_divider()
|
||||||
|
|
||||||
|
def get_proclamation():
|
||||||
|
try:
|
||||||
|
print("\n" + "=" * 35)
|
||||||
|
print("📢 公告信息")
|
||||||
|
|
||||||
|
|
||||||
|
response = requests.get(primary_url, timeout=10)
|
||||||
|
if response.status_code == 200:
|
||||||
|
print(response.text)
|
||||||
|
print("=" * 35 + "\n")
|
||||||
|
print("公告获取成功,开始执行任务...\n")
|
||||||
|
return
|
||||||
|
else:
|
||||||
|
print(f"尝试获取公告,状态码: {response.status_code}, 尝试备用链接...")
|
||||||
|
except requests.exceptions.RequestException as e:
|
||||||
|
print(f"获取公告时发生错误: {e}, 尝试备用链接...")
|
||||||
|
|
||||||
|
try:
|
||||||
|
response = requests.get(backup_url, timeout=10)
|
||||||
|
if response.status_code == 200:
|
||||||
|
print(response.text)
|
||||||
|
print("=" * 35 + "\n")
|
||||||
|
print("公告获取成功,开始执行任务...\n")
|
||||||
|
else:
|
||||||
|
print(f"⚠️ 获取公告失败,状态码: {response.status_code}")
|
||||||
|
except requests.exceptions.RequestException as e:
|
||||||
|
print(f"⚠️ 获取公告时发生错误: {e}, 可能是网络问题或链接无效。")
|
||||||
|
|
||||||
|
print_divider()
|
||||||
|
print("🚀 开始执行签到任务")
|
||||||
|
|
||||||
|
|
||||||
|
get_proclamation()
|
||||||
|
|
||||||
|
# 添加账号编号提示
|
||||||
|
for idx, token in enumerate(tokens, start=1):
|
||||||
|
if not token.strip():
|
||||||
|
print_empty_token(idx)
|
||||||
|
continue
|
||||||
|
|
||||||
|
print_account_info(idx, token)
|
||||||
|
headers["authorization"] = token.strip()
|
||||||
|
|
||||||
|
try:
|
||||||
|
response = requests.post(url, headers=headers, data=json.dumps({}))
|
||||||
|
|
||||||
|
if response.status_code == 200:
|
||||||
|
json_response = response.json()
|
||||||
|
if json_response.get("code") == "200":
|
||||||
|
print_sign_success(idx, json_response.get('body', {}))
|
||||||
|
elif json_response.get("code") == "400":
|
||||||
|
print_already_signed(idx)
|
||||||
|
else:
|
||||||
|
print_sign_failed(idx, json_response.get("message", "未知错误"))
|
||||||
|
else:
|
||||||
|
print_sign_failed(idx, f"HTTP状态码: {response.status_code}")
|
||||||
|
except requests.exceptions.RequestException as e:
|
||||||
|
print_request_error(idx, e)
|
||||||
|
except json.JSONDecodeError:
|
||||||
|
print_sign_failed(idx, "响应内容不是有效的 JSON 格式")
|
||||||
|
|
||||||
|
|
||||||
|
print("🏆 所有账号签到任务完成!")
|
||||||
|
print_divider()
|
||||||
Reference in New Issue
Block a user