diff --git a/dddc.py b/dddc.py new file mode 100644 index 0000000..db6c5af --- /dev/null +++ b/dddc.py @@ -0,0 +1,267 @@ +""" +变量: +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 \ No newline at end of file