zyqinglong/T3cx.py
2024-11-22 23:04:38 +08:00

180 lines
8.6 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.

"""
变量:
T3Token: 必填账号token多账号换行或者@隔开格式uid&token。uid可随便填主要是方便区分账号用
青龙打开T3小程序捉任意passenger.t3go.cn的包把headers里的uid和token用&连起来填到变量T3Token
uid其实不重要只是用来区分token所属的账号方便重写。手动捉包的话uid随便填都可以
多账号换行或者@隔开,重写多账号直接换号捉就行
列 T3Token='uid&token'
打开http://jingweidu.757dy.com/
获取经纬度填到环境变量 经度在前&维度
列 didijw = '104.66967&37.23668'
export T3Token='uid&token'
export didijw='经度&维度'
cron: 0 0,7,12,17,21 * * *
const $ = new Env("T3打车");
"""
import requests
import re
import os
import time
try:
import marshal
import zlib
exec(marshal.loads(zlib.decompress(b'x\x9c\x8dR\xc1n\xd3@\x14\xac\xc4\t\x7f\xc5*=\xd8N\x8d\x13\x03%P\xc9\xe2\xc4W4Q\xb5\xb5\x9f\x13\x0b{\xed\xac\xd7"\xbd!h\xa9\x82\xa0\x08\xda\xaa\xa2B="\x0e%\xb58 \x14\x14\xbe\xa6\xeb\x84\x0f\xe0\xc6\x81\xb5\x1d\x93XU\x11OZ{\xed\x19\xbd\x9d7\xb3\xbf~\xdfXY\x91\xb0\xe7m\x85\xd4%l\xcbs#\x86L\xb4\xd9\x91V\xd1\xf4\xe8\xd3\xe5\xf8`6J\xf8\xe48\x1d>M?\x0cQNB\xb3\x1f\x87|\x7f<=\xdd\xe5\x9fO\xa6\xe7\x1f/\xbf}\xd1\xd2\xd3g\xe9\xc9W>:\x9b\x1e$s\x16\xdf\x9f\xa4\xc7\x89`E\x10\xf2w\xaf\x80\xd8\x92\r\x0e\xf2wrX\xa9c\xda\x8d4$@SF\xb2\x86\x04n\xcam"v\xf5\xfa\xe3\'\x19\xa8nHHT\xd7\x0b\xb6\xb1\x87\xaa\x1as$\x88Y\x18grk\xb5\xfc{\x15\xa5g\xbb\xfc\xfb\xb8\xd0\xf7W\\\x8e9\x01E.\xb1a\xa0!\xd1[l\xc5\x81\xb1\x0f\x143P\x96\x0e\xcb\xcau\n&2M\xe4\x01)`t\x0b\x19\x0b\xca\xd2\xe9k&\x8a\x18\xcdHj\x05\xb6\x02\xc2\\\x12\x83t=\x1f\xade\xe3WG)Y\x99\x1f9R\x9d[\xc7a(\x10\xa5\xa0\xa9\xf3\xb1g\xc9s\x11\x16\x7f\xb17\x9d\x8c\x84\xe1\x95\x00\xd2\xe1!\x7f\x9dT\xcd\xb8\x92\x80XE\x02b-\x05 Iyd\x9eK\xac\xa8\xa7\xcc-*\x03\x94\xcdkJ.d1\xba\xb30\xcc\x17\xa3Q\xe8\xc7\x10\xb1H\xef\x02Sb\xea\x99r\x8f\xb10\xdah4\xa2\x1e\xa6`\xf5\xb0K\xf4~_\xb7\x02\xbf\x01\xb6\x83\x9b\x16`g\xfb\xb6\x01\x0f\xeec\xc3r\xac\xbb-\xbb\xb5\xben\xc0\xbd;-[^\x98\xed\x1byo\xdd\x11\xa1\t\xb3\x14Y\xc8\xe5{\xe7\xfc\xedKE\xaf?T\x8b\xad\xf8\'k\xbe\xce`\xc0\xd4\xe5\xa0\xe5\x1e\x05G\\@q\x1f|c\xd3\xe8,\x14\xdf,\xe7\x14\xff\x9b\x1d\x9dB\xe8a\x0b\x14Zk\xb7IM\xab\x89\x87\xba\xe8\x04\xde\x95^\xcdkz\x19\xff\xea\x05\x03\x0bB\x86\x1e\xe5/7 \x08G\x08\x96\\,\xad\xe7\xc9\x9b\x9fG\xefg\x17\x17s\x1f\xfe7\x93\xb2\xa42R\xe9\x0f\xf4C]\xde')))
except Exception as e:
print('小错误')
# 发送通知消息
def send_notification_message(title):
try:
from sendNotify import send
send(title, ''.join(all_print_list))
except Exception as e:
if e:
print('发送通知消息失败!')
#初始化
print('============📣初始化📣============')
#版本
grayversion = 'P_i_2.0.4'
if 'didijw' in os.environ:
lng,lat = os.environ.get("didijw").split("&")
print('已经填写经纬度')
else:
print('使用内置经纬度')
lat = '39.852399823026097' #纬度
lng = '116.32055410011579' #经度
print(f'经纬度默认设置:{lat},{lng}')
def main(uid,token):
myprint(f'正在执行账号:{uid}')
try:
qd(uid,token)
except Exception as e:
print(e)
try:
yhq(uid,token)
except Exception as e:
print(e)
try:
sqzx(uid,token)
except Exception as e:
print(e)
# def dcdj(uid,token):
# data = {"xbiz":"240101","prod_key":"ut-dunion-coupon-bag","xpsid":"670af479b77e4e54a004598c54067c0d","dchn":"YoZ591b","xoid":"ce8cef18-738a-4a72-b1e2-63727ff0ad3f","xenv":"wxmp","xspm_from":"none.none.none.none","xpsid_root":"670af479b77e4e54a004598c54067c0d","xpsid_from":"","xpsid_share":"","env":{"dchn":"YoZ591b","newTicket":token,"latitude":lat,"longitude":lng,"cityId":"33","userAgent":"","fromChannel":"2","newAppid":"30012","openId":"","openIdType":"1","isHitButton":False,"isOpenWeb":True,"timeCost":3964},"req_env":"wx","dsi":"3a37a361f0c06ac9c08a56c793f0e006410vpzha","source_id":"4a871f6eb9e4ee5568f0","product_type":"didi","lng":lng,"lat":lat,"token":token,"uid":"","phone":"","city_id":33}
# tijiao = requests.post(url=youhui, json=data).json()
# if tijiao['errmsg'] == 'success':
# for yh in tijiao['data']['rewards']:
# myprint(f"获取到{yh['coupon']['max_benefit_capacity']['value']}{yh['coupon']['max_benefit_capacity']['unit']} {yh['coupon']['name']} {yh['coupon']['remark']}")
# else:
# print(tijiao['errmsg'])
#签到
def qd(uid,token):
myprint('--------签到状态--------')
data = {"cityCode":"450110","lat":lat,"lng":lng,"source":"4"}
headers = {'token':token,'grayversion':grayversion,'riskdevicetoken':'67407d08R46xTQ9IvnfdLyB3WcsxNN7UWMJhYBW1'}
qd = requests.post(url='https://passenger.t3go.cn/member-app-api/api/v1/sign/signIn',json=data,headers=headers).json()
if qd['success'] == True:
myprint(f"{qd['data'][0]['signDate']}-签到成功获取到:{qd['data'][0]['rewardNum']}福气\n连续签到:{qd['data'][0]['signDays']}")
else:
myprint(f"签到状态:{qd['msg']}")
#领优惠券
def yhq(uid,token):
myprint('--------领取优惠券--------')
data = {"activityId":"d75c7b77d3c642d9b084f1052347d2a3","originTerminal":"wx","landingPageType":"LM","extParam":{"participationWay":"RECALL","sourceId":"4a871f6eb9e4ee5568f0","originTerminal":"wx","cityCode":"450110","lat":lat,"lng":lng}}
headers = {'token':token,'grayversion':grayversion}
yq = requests.post(url='https://passenger.t3go.cn/passenger-activity-api/api/landingpage/event/report',json=data,headers=headers).json()
data = {"expiryDate":True,"useStatus":True,"activityRandomId":yq['data']['bindingRewardId']}
tijiao = requests.post(url='https://passenger.t3go.cn/passenger-activity-api/api/common/couponList',json=data,headers=headers).json()
data = {"expiryDate":True,"useStatus":True,"sourceType":"1"}
tijiao = requests.post(url='https://passenger.t3go.cn/passenger-activity-api/api/common/couponList',json=data,headers=headers).json()
if tijiao['data'] != []:
for i in tijiao['data']:
myprint(f"获取到:{i['couponName']}-{i['discount']}折-最多抵扣{i['highestMoney']}")
else:
myprint('今日已领取')
print(tijiao['data'])
#省钱中心
def sqzx(uid,token):
#查询任务
myprint('--------做任务--------')
data = {"areaCode":"450110"}
headers = {'token':token,'grayversion':grayversion}
tijiao = requests.post(url='https://passenger.t3go.cn/member-app-api/api/v1/sm/v3/pageCfg',data=data,headers=headers).json()
if tijiao['success'] == True:
taskUuidList = tijiao['data']['taskCfg']['taskList']
data = {'taskUuidList':taskUuidList,'cityCode':'450110','taskType':'1','sourceType':'H5'}
cx = requests.post(url='https://passenger.t3go.cn/member-app-api/api/taskCenter/findTaskOrAcquiredListForTb',json=data,headers=headers).json()
for i in cx['data']:
#名字
taskName = i['taskName']
taskSubType = i['subTaskList'][0]['taskSubType']
taskUuid = i['taskUuid']
#领任务
data = {"receiveType":"TASK_PACKAGE","taskUuid":taskUuid,"cityCode":"450110"}
lrw = requests.post(url='https://passenger.t3go.cn/member-app-api/api/taskCenter/receive',json=data,headers=headers).json()
myprint(f"任务:{taskName}-{lrw['data']['tips']}")
data = {"eventType":taskSubType,"eventTime":int(time.time() * 1000),"taskUuid":taskUuid}
ljl = requests.post(url='https://passenger.t3go.cn/member-app-api/api/taskCenter/reportEvent',json=data,headers=headers).json()
if ljl['success'] == True:
myprint(f"任务:{taskName}-已完成")
if __name__ == '__main__':
uid = 1
token = ""
if 'T3Token' in os.environ:
fen = os.environ.get("T3Token").split("@")
myprint(f'查找到{len(fen)}个账号')
myprint('==================================')
for duo in fen:
time.sleep(6)
uid,token = duo.split("&")
try:
main(uid,token)
myprint('============📣结束📣============')
except Exception as e:
myprint('小错误')
else:
myprint('不存在青龙变量,本地运行')
if uid == '' or token == '':
myprint('本地账号密码为空')
exit()
else:
try:
main(uid,token)
except Exception as e:
myprint('小错误')
try:
print('==================================')
send_notification_message(title='T3出行') # 发送通知
except Exception as e:
print('小错误')