57Box 微信小程序自动任务脚本

功能

  • 自动完成每日任务
  • 自动抽取免费箱子

使用说明

  1. 将代码保存为 57box.py 文件
  2. 在青龙面板中新建一个任务,并配置以下环境变量:
    • BOX_data: 手机号@密码,多个账号用'===='隔开,例如:
    	18888888888@123456
    	====
    	13333333333@654321
    
  3. 设置定时任务,例如每天早上 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 环境变量已正确配置
  • 确保脚本文件路径正确
  • 脚本可能存在误差,请定期检查运行状态
  • 本脚本仅供学习交流,请勿将任何内容用于商业或非法目的,否则后果自负。
57Box 微信小程序自动任务脚本

原文地址: https://www.cveoy.top/t/topic/o9qF 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录