欢迎光临UUpython
最大、最新、最全的Python代码收集站

阿里云盘签到脚本

这段代码的主要功能是使用阿里云盘(Aliyun Drive)的 API 来进行自动签到,并通过 Telegram Bot 发送签到结果的消息通知。下面是代码的主要部分解释:

  1. 在代码的开头,设置了 Telegram Bot 的 API Token 和目标聊天 ID。你需要将这些值替换为你自己的 Bot Token 和聊天 ID。
  2. 定义了一个 send_message_to_telegram 函数,用于发送消息到 Telegram。
  3. 定义了一个 aliyun_drive_sign_in 函数,用于进行阿里云盘的签到操作。该函数接受一个刷新令牌(refresh token)的列表作为参数。
  4. aliyun_drive_sign_in 函数中,遍历传入的刷新令牌列表,对每个刷新令牌进行签到操作。
  5. 首先使用刷新令牌获取访问令牌(access token)。
  6. 如果成功获取到 access token,则进行签到操作,发送 POST 请求到 https://member.aliyundrive.com/v1/activity/sign_in_list
  7. 解析返回的 JSON 数据,获取签到天数 signInCount
  8. 使用签到天数向 https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile 发送 POST 请求领取奖励。
  9. 解析返回的 JSON 数据,获取奖励名称 reward_name 和奖励描述 reward_description
  10. 构建签到成功和获得奖励的消息,然后通过 send_message_to_telegram 函数将消息发送到 Telegram。
  11. 最后,通过调用 aliyun_drive_sign_in 函数来执行多个账号的签到操作。

需要注意的是,代码中的 refresh_tokens 列表需要被替换为有效的阿里云盘账号刷新令牌。确保你已经替换了 Telegram Bot 的 API Token 和聊天 ID,以便能够成功接收签到结果的消息通知。此外,代码中没有对异常情况进行详细处理,你可能需要根据实际情况添加适当的错误处理机制。

import requests
import time
 
# Telegram Bot的API Token
telegram_api_token = "你的TG_bot token"
# Telegram目标聊天ID(可以是私人对话或群组ID)
telegram_chat_id = "你的chat_id"
 
def send_message_to_telegram(message):
   url = f"https://api.telegram.org/bot{telegram_api_token}/sendMessage"
   data = {
       "chat_id": telegram_chat_id,
       "text": message,
   }
   requests.post(url, data=data)
 
def aliyun_drive_sign_in(refresh_tokens):
   for refresh_token in refresh_tokens:
       if refresh_token != "":
           # 刷新token获取access_token
           res = requests.post("https://auth.aliyundrive.com/v2/account/token",
                               json={
                                   "grant_type": "refresh_token",
                                   "refresh_token": refresh_token
                               })
           res = res.json()
           access_token = res.get('access_token')
 
           if access_token is None:
               send_message_to_telegram("refresh_token错误,请重新填写refresh_token")
           else:
               try:
                   # 进行签到
                   res2 = requests.post("https://member.aliyundrive.com/v1/activity/sign_in_list",
                                        json={"_rx-s": "mobile"},
                                        headers={"Authorization": 'Bearer ' + access_token})
                   res2 = res2.json()
                   signInCount = res2.get('result', {}).get('signInCount', 0)
 
                   # 领取奖励
                   res3 = requests.post("https://member.aliyundrive.com/v1/activity/sign_in_reward?_rx-s=mobile",
                                        json={
                                            "signInDay": signInCount
                                        },
                                        headers={"Authorization": 'Bearer ' + access_token})
                   res3 = res3.json()
                   reward_name = res3.get("result", {}).get("name")
                   reward_description = res3.get("result", {}).get("description")
 
                   # 构建签到成功和获得奖励的信息
                   message = f"账号:{res['user_name']},签到成功,本月累计签到{signInCount}天,获得奖励:{reward_name},{reward_description}"
                   send_message_to_telegram(message)
               except:
                   send_message_to_telegram("签到或领取奖励失败")
       print("\n")
 
# 多账号refresh_token值列表
refresh_tokens = ["token1", "token2", "token3"]
aliyun_drive_sign_in(refresh_tokens)
赞(0) 打赏
未经允许不得转载:UUpython » 阿里云盘签到脚本
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!