zyqinglong/dddc.py
2023-06-06 10:59:39 +08:00

275 lines
11 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.18'
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}')
chaxun(uid,token)
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(f"天天领券签到:{tijiao['errmsg']}")
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('------')
def chaxun(uid,token):
print('--------福利金查询--------')
cx = requests.get(url=f'https://rewards.xiaojukeji.com/loyalty_credit/bonus/getWelfareUsage4Wallet?token={token}&city_id=0').json()
if 'ok' == cx['errmsg']:
print(f"账号{uid}现在有福利金:{cx['data']['worth']}(可抵扣{cx['data']['worth']/100}元)\n{cx['data']['recent_expire_time']}过期福利金:{cx['data']['recent_expire_amount']}")
else:
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