zyqinglong/dddc.py
2023-06-02 00:43:49 +08:00

267 lines
10 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

"""
变量:
ddgyToken: 必填账号token多账号换行或者@隔开格式uid&token。uid可随便填主要是方便区分账号用
青龙捉任意game.xiaojukeji.com的包把body里的uid和token用&连起来填到变量ddgyToken
uid其实不重要只是用来区分token所属的账号方便重写。手动捉包的话uid随便填都可以
多账号换行或者@隔开,重写多账号直接换号捉就行
export ddgyToken='uid&token'
cron: 0 0,7 * * *
const $ = new Env("滴滴打车");
"""
import requests
import re
import os
import time
#初始化
print('============📣初始化📣============')
appversion = '6.6.13'
print(f'小程序版本:{appversion}')
lat = '39.852399823026097' #纬度
lng = '116.32055410011579' #经度
print(f'经纬度默认设置:{lat},{lng}')
print('==================================')
#设置api
fuli ='https://ut.xiaojukeji.com/ut/welfare/api/action/dailySign'
youhui = 'https://union.didi.cn/api/v1.0/reward/receive'
guafen1 = 'https://ut.xiaojukeji.com/ut/welfare/api/home/divideData'
guafen2 = 'https://ut.xiaojukeji.com/ut/welfare/api/action/joinDivide'
guafen3 = 'https://ut.xiaojukeji.com/ut/welfare/api/action/event/report'
ttfuli = 'https://ut.xiaojukeji.com/ut/janitor/api/home/sign/index'
ttfuli1 = 'https://ut.xiaojukeji.com/ut/janitor/api/action/sign/do'
#token = "LNwU4uQ942ozIte-b44TTBSs-Deh913XhEh7InatZtEkzDuOwkAMgOG7_LUV2Z54Hr7NPrILzSCBqKLcHUGqr_t2ppKURRdFmEaaMJ0soTqEWUhrMby2GEVXV2Gu5JsgQfg6-Sa929rCXNVjeBF-P91G7jxuz_vPRoaqjkP4I632sGq9q_BPYt1bG6NVrwiXs72SerwCAAD__w=="
#token = '6_ivU3kCfjU8yfgZFdLIjgmedFhm8hPmiCNyWyFug4wkzDuOwlAMQNG93NqK7PeL7d3MJzPQPCQQVZS9I0h1urMzlaQuuijCNNKEWcjaVUOYlbS1hw8b1moLFWYj33QShK-Tb7JE6Fp7FPfe2hB-P91G7jxuz_vPRnZVjUP4I214L2VoM-GfxKqV2tzVV4TL2V5JPV4BAAD__w=='
def main(uid,token):
print(f'正在执行账号:{uid}')
try:
diyi(uid,token)
except Exception as e:
print(e)
guafen(uid,token)
def diyi(uid,token):
print('--------领取优惠券--------')
data = {"lang":"zh-CN","token":token,"access_key_id":9,"appversion":appversion,"channel":1100000009,"_ds":"","xpsid":"d04ccc4ce0c844e38c164ecc30711458","xpsid_root":"d04ccc4ce0c844e38c164ecc30711458","dsi":"877e066d7ce22ef07762fa42992227567393hvn1","source_id":"31806556232355840DT124787708487929856DT","product_type":"didi","city_id":33,"lng":"","lat":"","source_.from":"","env":{"dchn":"r2mda3z","newTicket":token,"latitude":"","longitude":"","model":"2201122C","fromChannel":"2","newAppid":"35009","openId":"","openIdType":"1","sceneId":"1037","isHitButton":True,"isOpenWeb":False,"timeCost":19908,"cityId":"33","xAxes":"167.60003662109375","yAxes":"480.0857849121094"},"req_env":"wx","dunion_callback":""}
tijiao = requests.post(url=youhui, json=data).json()
if tijiao['errmsg'] == 'success':
for yh in tijiao['data']['rewards']:
print(f"获取到{yh['coupon']['max_benefit_capacity']['value']}{yh['coupon']['max_benefit_capacity']['unit']} {yh['coupon']['name']} {yh['coupon']['remark']}")
else:
print(tijiao['errmsg'])
print('--------福利中心签到------')
data = {
'lang' : 'zh-CN',
'token' : token,
'access_key_id' : 9,
'appversion' : appversion,
'channel' : 1100000002,
'_ds' : '',
'lat' : lat,
'lng' : lng,
'platform' : 'mp',
'env' : r'{\"cityId\":\"33\",\"token\":\"\",\"longitude\":\"\",\"latitude\":\"\",\"appid\":\"30012\",\"fromChannel\":\"2\",\"wxScene\":1089,\"sceneId\":1089,\"openId\":\"\"}',
'dchn' : 'W0dzOxO'
}
#print(data)
tijiao = requests.post(url=fuli, json=data).json()
if tijiao['errmsg'] == 'success':
print(f"签到成功:获得 {tijiao['data']['subsidy_state']['subsidy_amount']} 福利金")
else:
print(tijiao['errmsg'])
print('--------天天领券签到------')
headers = {'didi-ticket': token,'content-type':'application/json'}
data = {
'lang' : 'zh-CN',
'token' : token,
'access_key_id' : 9,
'appversion' : appversion,
'channel' : 1100000002,
'_ds' : '',
'xpsid': '',
'xpsid_root': '',
'city_id': 33,
'env': {'isHitButton': True,'newAppid': 35009,'userAgent': '','openId': '','model': '2201122C','wifi': 2,'timeCost': 222318}
}
#print(data)
tijiao = requests.post(url=ttfuli, json=data, headers=headers).json()
if tijiao['errmsg'] == 'success':
print(f"获取id成功{tijiao['data']['activity_id']}{tijiao['data']['instance_id']}")
else:
print(tijiao['errmsg'])
#print(tijiao)
data = {
'lang' : 'zh-CN',
'token' : token,
'access_key_id' : 9,
'appversion' : appversion,
'channel' : 1100000002,
'_ds' : '',
'xpsid': '0b3283547ec94f74ab4c8bdfbe61594a',
'xpsid_root': 'a14839465b384932b8b548e19c9f6737',
'activity_id': tijiao['data']['activity_id'],
'instance_id': tijiao['data']['instance_id'],
'city_id': 33,
'env': {'isHitButton': True,'newAppid': 35009,'userAgent': '','openId': '','model': '2201122C','wifi': 2}
}
#print(data)
tijiao = requests.post(url=ttfuli1, json=data, headers=headers).json()
if tijiao['errmsg'] == 'success':
print(tijiao)
else:
print(tijiao['errmsg'])
def guafen(uid,token):
print('--------瓜瓜乐打卡--------')
headers = {'didi-ticket': token,'content-type':'application/json'}
"""
#没用的
data = {
'lang' : 'zh-CN',
'token' : token,
'access_key_id' : 9,
'appversion' : appversion,
'channel' : 1100000002,
'_ds' : '',
'lat' : lat,
'lng' : lng,
'platform' : 'mp',
'env' : r'{\"cityId\":\"33\",\"token\":\"\",\"longitude\":\"\",\"latitude\":\"\",\"appid\":\"30012\",\"fromChannel\":\"2\",\"wxScene\":1089,\"sceneId\":1089,\"openId\":\"\"}',
'type': 'navigation_click',
'data': {'navigation_type': 'divide'}
}
tijiao = requests.post(url=guafen3, json=data,headers=headers).json()
"""
#获取数据
data = {
'lang' : 'zh-CN',
'token' : token,
'access_key_id' : 9,
'appversion' : appversion,
'channel' : 1100000002,
'_ds' : '',
'lat' : lat,
'lng' : lng,
'platform' : 'mp',
'env' : r'{\"cityId\":\"33\",\"token\":\"\",\"longitude\":\"\",\"latitude\":\"\",\"appid\":\"30012\",\"fromChannel\":\"2\",\"wxScene\":1089,\"sceneId\":1089,\"openId\":\"\"}'
}
shuju = requests.post(url=guafen1, json=data).json()
#print(shuju)
rqi = list(shuju['data']['divide_data']['divide'])
zs = len(rqi) - 1
activity_id = shuju['data']['divide_data']['divide'][rqi[zs]]['activity_id']
task_id = shuju['data']['divide_data']['divide'][rqi[zs]]['task_id']
print(f'获取到日期数据:{rqi}\n需要的日期:{rqi[zs]}\n报名瓜分activity_id数据{activity_id}')
#报名瓜分
data = {
'lang' : 'zh-CN',
'token' : token,
'access_key_id' : 9,
'appversion' : appversion,
'channel' : 1100000002,
'_ds' : '',
'lat' : lat,
'lng' : lng,
'platform' : 'mp',
'env' : r'{\"cityId\":\"33\",\"token\":\"\",\"longitude\":\"\",\"latitude\":\"\",\"appid\":\"30012\",\"fromChannel\":\"2\",\"wxScene\":1089,\"sceneId\":1089,\"openId\":\"\"}',
'activity_id' : activity_id,
'count' : 1,
'type' : 'ut_bonus'
}
tijiao = requests.post(url=guafen2, json=data).json()
if tijiao['errmsg'] == 'success':
print(f"报名瓜分:{tijiao['errmsg']}")
else:
print(tijiao['errmsg'])
#参加瓜分
activity_id = shuju['data']['divide_data']['divide'][rqi[0]]['activity_id']
task_id = shuju['data']['divide_data']['divide'][rqi[0]]['task_id']
print(f'获取到日期数据:{rqi}\n需要的日期:{rqi[0]}\n参加瓜分activity_id数据{activity_id}')
data = {
'lang' : 'zh-CN',
'token' : token,
'access_key_id' : 9,
'appversion' : appversion,
'channel' : 1100000002,
'_ds' : '',
'lat' : lat,
'lng' : lng,
'platform' : 'mp',
'env' : r'{\"cityId\":\"33\",\"token\":\"\",\"longitude\":\"\",\"latitude\":\"\",\"appid\":\"30012\",\"fromChannel\":\"2\",\"wxScene\":1089,\"sceneId\":1089,\"openId\":\"\"}',
'activity_id' : activity_id,
'task_id' : task_id
}
tijiao = requests.post(url='https://ut.xiaojukeji.com/ut/welfare/api/action/divideReward', json=data).json()
if tijiao['errmsg'] == 'success':
print(f"参加瓜分:{tijiao['errmsg']}")
else:
print(tijiao['errmsg'])
#print(tijiao)
#获取数据
data = {
'lang' : 'zh-CN',
'token' : token,
'access_key_id' : 9,
'appversion' : appversion,
'channel' : 1100000002,
'_ds' : '',
'lat' : lat,
'lng' : lng,
'platform' : 'mp',
'env' : r'{\"cityId\":\"33\",\"token\":\"\",\"longitude\":\"\",\"latitude\":\"\",\"appid\":\"30012\",\"fromChannel\":\"2\",\"wxScene\":1089,\"sceneId\":1089,\"openId\":\"\"}'
}
shuju = requests.post(url=guafen1, json=data).json()
#print(shuju)
print('------')
if '14点自动开奖' == shuju['data']['divide_data']['divide'][rqi[0]]['button']['text']:
print(f"参加今日瓜分状态:成功-{shuju['data']['divide_data']['divide'][rqi[0]]['button']['text']}")
elif '发奖了' == shuju['data']['divide_data']['divide'][rqi[0]]['button']['text']:
print(f"参加今日瓜分状态:成功-{shuju['data']['divide_data']['divide'][rqi[0]]['button']['text']}")
else:
print(f"参加今日瓜分状态:失败")
if '明天14点前访问' == shuju['data']['divide_data']['divide'][rqi[zs]]['button']['text']:
print(f"参加今日瓜分状态:成功-{shuju['data']['divide_data']['divide'][rqi[zs]]['button']['text']}")
else:
print(f"参加明日瓜分状态:失败")
print('------')
if __name__ == '__main__':
uid = 1
token = ""
if 'ddgyToken' in os.environ:
fen = os.environ.get("ddgyToken").split("@")
print(f'查找到{len(fen)}个账号')
print('==================================')
for duo in fen:
uid,token = duo.split("&")
try:
main(uid,token)
print('============📣结束📣============')
except Exception as e:
raise e
else:
print('不存在青龙变量,本地运行')
if uid == '' or token == '':
print('本地账号密码为空')
exit()
else:
try:
main(uid,token)
except Exception as e:
raise e