57Box 微信小程序自动任务脚本
57Box 微信小程序自动任务脚本
功能
- 自动完成每日任务
- 自动抽取免费箱子
使用说明
- 将代码保存为
57box.py文件 - 在青龙面板中新建一个任务,并配置以下环境变量:
BOX_data: 手机号@密码,多个账号用'===='隔开,例如:
18888888888@123456 ==== 13333333333@654321 - 设置定时任务,例如每天早上 8 点执行:
cron "0 8 * * *" python3 /scripts/57box.py
代码
import os
import time
import requests
accounts = os.getenv("BOX_data")
if accounts is None:
print('你没有填入BOX_data,咋运行?')
exit()
accounts_list = accounts.split('
')
num_of_accounts = len(accounts_list)
print(f"获取到 {num_of_accounts} 个账号")
for i, account in enumerate(accounts_list, start=1):
values = account.split('@')
mobile, password = values[0], values[1]
result = mobile.replace(mobile[3:7],'****')
print(f"\n{'=' * 8}开始执行账号[{result}]{'=' * 8}")
url = "https://www.57box.cn/app/index.php?i=2&t=0&v=1&from=wxapp&c=entry&a=wxapp&do=login&m=greatriver_lottery_operation"
headers = {
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/47) uni-app",
}
data = {
"mobile": mobile,
"password": password,
"password2": "",
"code": "",
"invite_uid": "0",
"source": "app"
}
response = requests.post(url, headers=headers, data=data).json()
if response['errno'] == 0:
print(f"{response['message']}")
token = response['data']['token']
print(f"{'=' * 12}开始每日任务{'=' * 12}")
for i in range(3):
url = f"https://www.57box.cn/app/index.php?i=2&t=0&v=1&from=wxapp&c=entry&a=wxapp&do=uptaskinfo&&token={token}"
data = {
"m": "greatriver_lottery_operation",
"id": "35",
"answer": ""
}
response = requests.post(url, headers=headers, data=data).json()
state = "看广告领矿石"
if response['errno'] == 999:
print(f"{state}---{response['message']}")
break
elif response['errno'] == 0:
print(f"第{i + 1}次{state}---{response['message']}")
time.sleep(5)
else:
print(f"{state}错误未知{response}")
break
time.sleep(3)
data = {
"m": "greatriver_lottery_operation",
"id": "26",
"answer": "669988"
}
response = requests.post(url, headers=headers, data=data).json()
state = "进群密码"
if response['errno'] == 999:
print(f"{state}---{response['message']}")
elif response['errno'] == 0:
print(f"{state}---{response['message']}")
else:
print(f"{state}错误未知{response}")
break
time.sleep(3)
data = {
"m": "greatriver_lottery_operation",
"id": "30",
"answer": "普通物品不可分解"
}
response = requests.post(url, headers=headers, data=data).json()
state = "每日答题"
if response['errno'] == 999:
print(f"{state}---{response['message']}")
elif response['errno'] == 0:
print(f"{state}---{response['message']}")
else:
print(f"{state}错误未知{response}")
break
print(f"{'=' * 12}获取账号信息{'=' * 12}")
url = f"https://www.57box.cn/app/index.php?i=2&t=0&v=1&from=wxapp&c=entry&a=wxapp&do=getuserinfo&&token={token}"
data = {
"m": "greatriver_lottery_operation",
"title": "",
}
response = requests.post(url, headers=headers, data=data).json()
if response['errno'] == 999:
print(f"{response['message']}")
elif response['errno'] == 0:
nickname = response['data']['nickname']
integral_str = response['data']['integral']
try:
integral: int = int(float(integral_str))
print(f"Name:{nickname}---矿石余额:{integral}")
except ValueError:
print(f"无效的integral值: {integral_str}")
else:
print(f"错误未知{response}")
break
if lottery == 1: # 开始抽奖
print(f"{'=' * 12}执行开鞋盒{'=' * 12}")
num = integral // 120
for i in range(num):
url = "https://www.57box.cn/app/index.php"
params = {
"i": "2",
"t": "0",
"v": "1",
"from": "wxapp",
"c": "entry",
"a": "wxapp",
"do": "openthebox",
"token": token,
"m": "greatriver_lottery_operation",
"box_id": "303",
"paytype": "1",
"answer": "",
"num": 1
}
response = requests.post(url, headers=headers, data=params).json()
if response['errno'] == 0:
complete_prize_title = response['data']['prizes_data'][0]['complete_prize_title']
prize_market_price = response['data']['prizes_data'][0]['prize_market_price']
print(f"{response['message']}---{complete_prize_title} 市场价:{prize_market_price}")
message1= "恭喜您抽中了"
if response['message'] == message1:
url = f"https://www.57box.cn/app/index.php?i=2&t=0&v=1&from=wxapp&c=entry&a=wxapp&do=uptaskinfo&&token={token}"
data = {
"m": "greatriver_lottery_operation",
"id": "39",
"answer": ""
}
response = requests.post(url, headers=headers, data=data).json()
print(f"开盒视频---{response['message']}")
elif response['errno'] == 999:
print(f"{response['message']}")
else:
print(f"错误未知{response}")
break
print(f"开鞋盒完毕")
print(f"{'=' * 12}获取账号奖品{'=' * 12}")
url = f"https://www.57box.cn/app/index.php?i=2&t=0&v=1&from=wxapp&c=entry&a=wxapp&do=getsecondmemberprizes&m=greatriver_lottery_operation&page=0&type=1&prize_level=1&prize_id=1899&token={token}&source=app"
headers = {
"User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 Html5Plus/1.0 (Immersed/47) uni-app",
}
response = requests.get(url, headers=headers).json()
if response['errno'] == 0:
for prize in response['data']:
complete_prize_title = prize['prize']['complete_prize_title']
print(f"{response['message']}--- 奖品:{complete_prize_title}")
elif lottery == 0:
print(f"{'=' * 12}不执行开鞋盒{'=' * 12}")
elif response['errno'] == 999:
print(f"{response['message']}")
break
else:
print(f"错误未知{response}")
break
注意事项
- 确保
BOX_data环境变量已正确配置 - 确保脚本文件路径正确
- 脚本可能存在误差,请定期检查运行状态
- 本脚本仅供学习交流,请勿将任何内容用于商业或非法目的,否则后果自负。
原文地址: https://www.cveoy.top/t/topic/o9qF 著作权归作者所有。请勿转载和采集!