大家好,不知道大家是否为雨云的自动签到发愁呢?今天给大家分享一份多用户兼容的雨云自动签到脚本
使用说明:在api_keys列表中放入自己账户的apikey(多用户用英文逗号分开),保存脚本后放到服务器运行定时任务即可
import requests
import json
import time
# API 配置
api_keys = [
# 在此处放置 "<X-API-KEY>",支持多项
]
url = "https://api.v2.rainyun.com/user/reward/tasks"
# 输出脚本信息
print("Rainyun-AutoSignin-V2 script, by CodeZhangBorui")
print("[Time]", time.ctime())
# 定义完成任务的重试机制
def complete_task(task_name, headers, url, retries=3, delay=10):
for attempt in range(retries):
try:
response = requests.post(url, headers=headers, json={"task_name": task_name})
result = response.json()
print(f"## 请求完成任务:{task_name} | 服务器 DATA:{result}")
return
except requests.RequestException:
print(f":( 出错了,等待 {delay} 秒后重试... (重试 {attempt + 1}/{retries})")
time.sleep(delay)
print(":( 多次重试失败,跳过该任务")
# 遍历所有 API Key
for key in api_keys:
print(f"# 使用 X-API-KEY 登录: {key[:10]}{'*' * 22}")
headers = {
'x-api-key': key,
'User-Agent': 'Rainyun-AutoSignin/2.0 (https://codezhangborui.eu.org/2023/06/rainyun-auto-python-scripts/)'
}
# 获取任务列表
try:
response = requests.get(url, headers=headers)
tasks = response.json().get('data', [])
print("# 获取可领取任务列表")
except requests.RequestException:
print(":( 获取任务列表失败")
continue
# 筛选未完成和可领取任务
pending_tasks = [task['Name'] for task in tasks if task['Status'] == 1]
for task in tasks:
status_msg = {
0: "未完成",
1: f"可领取 | 可获得积分:{task['Points']}",
2: "已领取"
}.get(task['Status'], f"未知状态 | 服务器 DATA:{task}")
print(f"## {'>' if task['Status'] == 1 else ('V' if task['Status'] == 2 else '-')} {status_msg}:{task['Name']}")
# 完成任务
if not pending_tasks:
print("# 没有可领取任务!")
else:
for task_name in pending_tasks:
complete_task(task_name, headers, url)
print("") # 分隔每个 API Key 的结果
print("# 程序已结束!")
time.sleep(10)
5 条评论
真棒!
怎么收藏这篇文章?
看的我热血沸腾啊