Skip to content

Bingwithyou/automation-scripts

Repository files navigation

Automation Scripts

九号自动脚本 什么值得买自动脚本 三得利自动签到 天天充电自动签到 每日自动脚本

这是一个基于 GitHub Actions 的自动化脚本仓库,主要用于每天定时执行签到、任务领取和结果汇总,并通过 Server 酱发送通知。

目前包含六组脚本:

  • ninebot/:九号 (Ninebot) App 自动化任务,使用 Python
  • smzdm/:什么值得买 (SMZDM) App 自动化任务,使用 Node.js
  • tastien/:塔斯汀签到任务,使用 Python
  • zhcommerce/:正弘城 签到任务,使用 Python
  • suntory/:三得利 Suntory 签到任务,使用 Python
  • dailycharge/:天天充电 DailyCharge 签到任务,使用 Python

Features

九号 (Ninebot)

  • 每日签到
  • 自动执行分享任务并领取奖励
  • 检查盲盒里程碑状态
  • 运行结束后汇总推送消息

什么值得买 (SMZDM)

  • 每日签到
  • 自动完成部分日常任务
  • 支持全民众测能量值任务
  • 运行结束后汇总推送消息

Common

  • 基于 GitHub Actions 定时运行
  • 支持手动触发 workflow
  • 启动前自动检查关键环境变量
  • 默认定时任务只发送 1 条统一汇总通知

正弘城 (Zhcommerce)

  • 每日签到
  • 支持本地计算签名并按当前时间戳请求接口
  • 保留脚本文件,适合本地或服务器定时运行

塔斯汀 (Tastien)

  • 支持多账号签到
  • 自动拉取当月签到活动 ID
  • 保留脚本文件,适合本地或服务器定时运行

三得利 (Suntory)

  • 每日签到成功后自动查询会员信息
  • 汇总签到奖励、会员等级和当前积分
  • 支持单独运行或由 combined_signin.py 统一汇总

天天充电 (DailyCharge)

  • 每日签到
  • 运行时自动生成毫秒时间戳
  • 支持单独运行或由 combined_signin.py 统一汇总

运行方式建议

可直接使用 GitHub Actions 运行

  • ninebot/ (九号)
  • smzdm/ (什么值得买)
  • suntory/ (三得利)
  • dailycharge/ (天天充电)

不建议使用 GitHub Actions 运行

  • zhcommerce/ (正弘城)
  • tastien/ (塔斯汀)

这三个应用目前都更依赖国内网络环境,使用 GitHub Actions 这类海外出口 IP 容易出现连接超时、接口无响应或被网关拦截的情况。建议在本地、国内服务器或青龙面板运行。

青龙运行示例 (推荐)

仓库提供了以下脚本,可通过青龙面板统一管理:

脚本 说明
combined_signin.py 组合签到(三得利 + 天天充电 + 正弘城 + 塔斯汀),合并发送一条通知
suntory_signin.py 三得利每日签到与会员信息查询
dailycharge_signin.py 天天充电每日签到
nine_bot_checkin.py 九号每日签到
nine_bot_share_reward.py 九号分享任务与领奖
nine_bot_blind_box.py 九号盲盒里程碑检查
smzdm_checkin.js 什么值得买每日签到
smzdm_task.js 什么值得买每日任务
smzdm_testing.js 什么值得买全民众测能量值任务
smzdm_lottery.js 什么值得买抽奖
tastien_checkin.py 塔斯汀签到(支持多账号)
zhcommerce_signin.py 正弘城签到

环境变量配置

在青龙面板中创建以下环境变量:

九号 (Ninebot):

  • NINEBOT_TOKEN:九号接口请求头中的 Authorization
  • NINEBOT_DEVICE_ID:九号接口请求头中的 device_id
  • NINEBOT_SHARE_PAYLOAD:抓包 circle/v1/share-callback 接口的完整 Request Body(JSON)

什么值得买 (SMZDM):

  • SMZDM_COOKIE:什么值得买账号的 Cookie
  • SMZDM_SK:可选,部分签到场景可用的附加参数

正弘城 (Zhcommerce):

  • ZH_ACCESS_TOKEN:正弘城小程序请求中的 accessToken
  • ZH_DEVICE_ID:正弘城小程序请求中的 deviceId

塔斯汀 (Tastien):

  • TASTIEN_USER_TOKENS:塔斯汀小程序请求头中的 user-token,多账号可用 &@ 分隔

三得利 (Suntory):

  • SUNTORY_AUTHORIZATION:三得利小程序请求头中的 Authorization,可填写完整的 bearer ... 或只填写 token

天天充电 (DailyCharge):

  • DAILYCHARGE_UID:签到请求体中的 uid
  • DAILYCHARGE_USERID_LOCKED:签到请求体中的 userid_locked
  • DAILYCHARGE_USERID_OPEN:签到请求体中的 userid_open

通知推送(可选):

  • PUSH_KEYSERVER_CHAN_SEND_KEY:Server 酱推送 Key

注意:即使在青龙“系统设置”里配置了通知,建议也在“环境变量”里手动添加 PUSH_KEY,以确保脚本能正确读取。

同时拉取组合签到脚本和各单项脚本作为任务:

ql repo https://github.com/Bingwithyou/automation-scripts.git "combined_signin|nine_bot_checkin|nine_bot_share_reward|nine_bot_blind_box|smzdm_checkin|smzdm_task|smzdm_testing|smzdm_lottery|suntory_signin|dailycharge_signin|tastien_checkin|zhcommerce_signin" "notification|send_combined_summary" "" "main" "py|js"

参数说明:

  • 白名单:导入全部 12 个脚本作为任务(九号 3 个、什么值得买 4 个、三得利 1 个、天天充电 1 个、塔斯汀 1 个、正弘城 1 个、组合签到 1 个)。
  • 黑名单:"notification|send_combined_summary",防止将通知模块和汇总脚本误导入为任务。
  • 后缀:"py|js",同时寻找 Python 和 Node.js 文件。

导入后,脚本会自动识别文件内的 cron 注释并设置默认定时。建议在青龙“依赖管理”中安装 requests 库,并确保青龙环境里可用 node

Project Structure

.
├── .github/workflows/
│   ├── daily.yml
│   ├── ninebot.yml
│   └── smzdm.yml
├── combined_signin.py         # 组合签到入口(推荐青龙使用)
├── ninebot/                   # 九号相关脚本
│   ├── nine_bot_checkin.py
│   ├── nine_bot_share_reward.py
│   ├── nine_bot_blind_box.py
│   └── notification.py
├── smzdm/                     # 什么值得买相关脚本
│   ├── ...
├── zhcommerce/                # 正弘城相关脚本
│   ├── notification.py
│   └── zhcommerce_signin.py
├── tastien/                   # 塔斯汀相关脚本
│   ├── notification.py
│   └── tastien_checkin.py
├── suntory/                   # 三得利相关脚本
│   └── suntory_signin.py
├── dailycharge/               # 天天充电相关脚本
│   └── dailycharge_signin.py
├── requirements.txt
└── README.md

Workflows

当前仓库有 5 个 GitHub Actions 工作流:

  • daily.yml:默认定时任务。执行九号、什么值得买、三得利和天天充电,并在最后统一发送 1 条汇总通知
  • ninebot.yml:手动单独执行九号任务
  • smzdm.yml:手动单独执行什么值得买任务
  • suntory.yml:手动单独执行三得利签到
  • dailycharge.yml:手动单独执行天天充电签到

默认定时由 daily.yml 在每天北京时间 07:00 触发;其余 workflow 保留给手动排查或单独执行使用。

Required Secrets

在仓库的 Settings -> Secrets and variables -> Actions 中配置以下变量。

九号 (Ninebot)

Name Required Description
NINEBOT_TOKEN Yes 九号接口请求头中的 Authorization
NINEBOT_DEVICE_ID Yes 九号接口请求头中的 device_id
NINEBOT_SHARE_PAYLOAD Yes 抓包 circle/v1/share-callback 接口的完整 Request Body(JSON)

什么值得买 (SMZDM)

Name Required Description
SMZDM_COOKIE Yes 什么值得买账号的 Cookie
SMZDM_SK No 部分签到场景可用的附加参数

Notification

Name Required Description
SERVER_CHAN_SEND_KEY No Server 酱推送 key;未配置时会跳过汇总通知

正弘城 (Zhcommerce)

Name Required Description
ZH_ACCESS_TOKEN Yes 正弘城小程序请求中的 accessToken
ZH_DEVICE_ID Yes 正弘城小程序请求中的 deviceId

塔斯汀 (Tastien)

Name Required Description
TASTIEN_USER_TOKENS Yes 塔斯汀小程序请求头中的 user-token,多账号可用 &@ 分隔

三得利 (Suntory)

Name Required Description
SUNTORY_AUTHORIZATION Yes 三得利小程序请求头中的 Authorization,支持完整 bearer ... 或纯 token

天天充电 (DailyCharge)

Name Required Description
DAILYCHARGE_UID Yes 签到请求体中的 uid
DAILYCHARGE_USERID_LOCKED Yes 签到请求体中的 userid_locked
DAILYCHARGE_USERID_OPEN Yes 签到请求体中的 userid_open

Workflow Environment Variables

除了 GitHub Secrets,工作流里还使用了几个固定运行参数:

Name Current Value Description
SMZDM_TASK_TESTING yes 启用全民众测能量值任务
SMZDM_CROWD_SILVER_5 no 不启用 5 碎银抽奖
SMZDM_COMMENT 点赞支持,感谢分享! 评论类任务使用的默认文案

zhcommerce 当前版本中的 appKeyappUidsidmallId、定位坐标、版本号和请求头都已经按现有抓包固定到脚本默认值里,默认只需要维护 ZH_ACCESS_TOKENZH_DEVICE_ID,更适合放在本地服务器、国内云主机或青龙面板中运行。

tastien 当前版本没有在仓库里硬编码任何账号 token 或 device id,账号信息统一通过 TASTIEN_USER_TOKENS 传入,更适合放在本地服务器、国内云主机或青龙面板中运行。

如果你后续调整 workflow,这些值也建议和 README 保持同步。

Local Run

如果需要本地调试,可以分别运行:

九号 (Ninebot)

pip install -r requirements.txt
NINEBOT_TOKEN=你的token NINEBOT_DEVICE_ID=你的deviceId python3 ninebot/nine_bot_checkin.py
NINEBOT_TOKEN=你的token NINEBOT_DEVICE_ID=你的deviceId NINEBOT_SHARE_PAYLOAD='<抓包的完整JSON>' python3 ninebot/nine_bot_share_reward.py
NINEBOT_TOKEN=你的token NINEBOT_DEVICE_ID=你的deviceId python3 ninebot/nine_bot_blind_box.py

什么值得买 (SMZDM)

npm install crypto-js got@11 tough-cookie
node smzdm/smzdm_checkin.js
node smzdm/smzdm_task.js
node smzdm/smzdm_testing.js
node smzdm/send_summary.js

正弘城 (Zhcommerce)

pip install -r requirements.txt
ZH_ACCESS_TOKEN=你的最新token ZH_DEVICE_ID=你的device_id python3 zhcommerce/zhcommerce_signin.py

塔斯汀 (Tastien)

pip install -r requirements.txt
TASTIEN_USER_TOKENS=你的user-token python3 tastien/tastien_checkin.py

多账号示例:

TASTIEN_USER_TOKENS="token1&token2" python3 tastien/tastien_checkin.py

三得利 (Suntory)

pip install -r requirements.txt
SUNTORY_AUTHORIZATION='bearer 你的token' python3 suntory/suntory_signin.py

天天充电 (DailyCharge)

pip install -r requirements.txt
DAILYCHARGE_UID='你的uid' \
DAILYCHARGE_USERID_LOCKED='你的userid_locked' \
DAILYCHARGE_USERID_OPEN='你的userid_open' \
python3 dailycharge/dailycharge_signin.py

本地运行前同样需要先设置对应环境变量。

Notes

  • 这类自动化依赖第三方平台接口,接口字段、风控策略和任务规则都可能变化。
  • 如果 GitHub Actions 突然报错,优先检查 Secrets 是否失效、接口字段是否变更、任务是否下线。
  • 如果应用明显依赖国内 IP 或小程序环境,优先考虑本地服务器、国内云主机或青龙面板,而不是 GitHub Actions。
  • 日志推送属于辅助能力,即使通知失败,也不一定代表主任务全部失败。

Disclaimer

  • 本项目仅供学习和个人研究使用。
  • 请自行评估账号风控和平台规则变更带来的风险。
  • 使用本项目造成的任何后果,由使用者自行承担。

About

九号、什么值得买、塔斯汀、正弘城等任务签到脚本

Topics

Resources

License

Stars

6 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors