from multiprocessing import Process from Sms_get import Sms_get from douyin_1006 import * from douyin_1001 import * from douyin_1003 import * from douyin_1005 import * from douyin_1007 import * from douyin_1009 import * from douyin_1010 import * from douyin_init import * import traceback import time, json import requests from utils.task_return_json import * import uuid, sys class TaskParser(Process): def __init__(self, resp): Process.__init__(self) # 调用父类初始化方法 self.resp = resp def AutonomousTaskParser(self, task_dict): self.task_dict = task_dict def run(self): print("我执行了") print(type(self.resp)) try: if 'code' in self.resp: if self.resp['code'] == 0 and 'data' in self.resp: self.device_id = get_device_id() self.task_id = self.resp['data']['task_id'] self.robot_id = self.resp['data']['robot_id'] self.bind_phone = self.resp['data']["account_list"][0]["live_account"]["bind_phone"] self.nickname = self.resp['data']["account_list"][0]["live_account"]["nickname"] self.account_id = self.resp['data']["account_list"][0]["live_account"]["account_id"] self.platform_id = self.resp['data']['main_task']['platform_id'] self.pixel = getSreanPixels(self.device_id) if self.resp['data']['main_task']['platform_id'] == '10003': if self.resp['data']['main_task']['task_type']['code'] == "1001": # 送礼 self.room_id = self.resp['data']['main_task']["live_room_id"] #####################################先执行验号如果验号失败就上传验号结果即可###################### Dou_1006 = DouYin_1006(self.robot_id, self.task_id, self.nickname, "VeriCode",self.bind_phone ,self.account_id,self.platform_id,self.pixel) live_account = Dou_1006.LoginByVeriCode() print("账号:", live_account) if "live_account" in live_account: # msg = image_upload(self.device_id, "verifySuccess.png") submit_data = task_json_1006(self.robot_id, self.task_id, 0, 0, "本机登录账号正确", "10003", live_account["live_account"]["account_id"], live_account["live_account"]["nickname"], live_account["live_account"]["live_account_content"], "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ################################################验号成功执行送礼################################################### gift = {} gift['gift_name'] = self.resp['data']['main_task']["accounts"][0]["gift_select_list"][0]["gift_name"] gift['gift_num'] = self.resp['data']['main_task']["accounts"][0]["gift_select_list"][0]["gift_num"] task_json = douyin_1001(self.device_id, self.room_id, self.pixel, gift) submit_data = task_json_1001(self.robot_id, self.task_id, task_json["finish"], task_json["type"], task_json["submit_info"]) result_json = SubmitTask(submit_data) print(result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") else: # msg = image_upload(self.device_id, "verifyFailed.png") submit_data = task_json_1001(self.robot_id, self.task_id, -1, 0, "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, live_account["errorInfo"]), "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") if self.resp['data']['main_task']['task_type']['code'] == "1003": # 弹幕 self.room_id = self.resp['data']['main_task']["live_room_id"] #####################################先执行验号如果验号失败就上传验号结果即可###################### Dou_1006 = DouYin_1006(self.robot_id, self.task_id, self.nickname, "VeriCode",self.bind_phone ,self.account_id,self.platform_id,self.pixel) live_account = Dou_1006.LoginByVeriCode() print("账号:", live_account) if "live_account" in live_account: # msg = image_upload(self.device_id, "verifySuccess.png") submit_data = task_json_1006(self.robot_id, self.task_id, 0, 0, "本机登录账号正确", "10003", live_account["live_account"]["account_id"], live_account["live_account"]["nickname"], live_account["live_account"]["live_account_content"], "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ################################################验号成功执行发弹幕################################################### self.room_id = self.resp['data']['main_task']["live_room_id"] print(self.task_id) content = {} content["barrages"] = self.resp['data']['account_list'][0]["barrages"] content["barrages_interval"] = self.resp['data']['account_list'][0]["barrages_interval"] if "is_random" in self.resp['data']['account_list'][0]: content["is_random"] = self.resp['data']['account_list'][0]["is_random"] else: content["is_random"] = 0 task_data = douyin_1003(self.device_id,self.pixel ,self.room_id, content) submit_data = task_json_1001(self.robot_id, self.task_id, task_data["finish"], task_data["type"], task_data["submit_info"], task_data["submit_img_url"]) print("submit_data:", submit_data) result_json = SubmitTask(submit_data) print("10003-1003:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") else: # msg = image_upload(self.device_id, "verifyFailed.png") submit_data = task_json_1001(self.robot_id, self.task_id, -1, 0, "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, live_account["errorInfo"]), "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") if self.resp['data']['main_task']['task_type']['code'] == "1005": #关注 self.room_id = self.resp['data']['main_task']["live_room_id"] #####################################先执行验号如果验号失败就上传验号结果即可###################### Dou_1006 = DouYin_1006(self.robot_id, self.task_id, self.nickname, "VeriCode",self.bind_phone ,self.account_id,self.platform_id,self.pixel) live_account = Dou_1006.LoginByVeriCode() print("账号:", live_account) if "live_account" in live_account: # msg = image_upload(self.device_id, "verifySuccess.png") submit_data = task_json_1006(self.robot_id, self.task_id, 0, 0, "昵称:{}({})|事件:本机登录账号正确".format(self.nickname,self.bind_phone), "10003", live_account["live_account"]["account_id"], live_account["live_account"]["nickname"], live_account["live_account"]["live_account_content"], "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ################################################验号成功执行用户关注################################################### print(self.task_id) task_data = douyin_1005(self.device_id, self.pixel,self.room_id, self.robot_id, self.task_id, self.nickname, self.bind_phone) submit_data = task_json_1001(self.robot_id, self.task_id, task_data["finish"], task_data["type"], "昵称:{}({})|事件:{}".format(self.nickname,self.bind_phone,task_data["submit_info"]), task_data["submit_img_url"]) print("submit_data:", submit_data) result_json = SubmitTask(submit_data) print("10003-1005:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") else: # msg = image_upload(self.device_id, "verifyFailed.png") submit_data = task_json_1001(self.robot_id, self.task_id, -1, 0, "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, live_account[ "errorInfo"]), "") result_json = SubmitTask(submit_data) print("10003-1005:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") if self.resp['data']['main_task']['task_type']['code'] == "1006": # 验号 Dou_1006 = DouYin_1006(self.robot_id, self.task_id, self.nickname, "VeriCode",self.bind_phone ,self.account_id,self.platform_id,self.pixel) live_account = Dou_1006.LoginByVeriCode() print(live_account) if "live_account" in live_account: # msg = image_upload(self.device_id, "verifySuccess.png") submit_data = task_json_1006(self.robot_id, self.task_id, 1, 0, "昵称:{}({})|事件:本机登录账号正确".format(self.nickname,self.bind_phone), "10003", live_account["live_account"]["account_id"], live_account["live_account"]["nickname"], live_account["live_account"]["live_account_content"], "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") # ExecuteCmd("adb kill-server") # ExecuteCmd("adb devices") else: # msg = image_upload(self.device_id, "verifyFailed.png") submit_data = task_json_1001(self.robot_id, self.task_id, -1, 0, "昵称:{}({})|事件:{}".format(self.nickname,self.bind_phone,live_account["errorInfo"]), "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") if self.resp['data']['main_task']['task_type']['code'] == "1009": # 点赞 self.room_id = self.resp['data']['main_task']["live_room_id"] #####################################先执行验号如果验号失败就上传验号结果即可###################### Dou_1006 = DouYin_1006(self.robot_id, self.task_id, self.nickname, "VeriCode",self.bind_phone ,self.account_id,self.platform_id,self.pixel) live_account = Dou_1006.LoginByVeriCode() print("账号:", live_account) if "live_account" in live_account: # msg = image_upload(self.device_id, "verifySuccess.png") submit_data = task_json_1006(self.robot_id, self.task_id, 0, 0, "昵称:{}({})|事件:本机登录账号正确".format(self.nickname,self.bind_phone), "10003", live_account["live_account"]["account_id"], live_account["live_account"]["nickname"], live_account["live_account"]["live_account_content"], "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ################################################验号成功执行用户关注################################################### self.room_id = self.resp['data']['main_task']["live_room_id"] # uri = "https://www.iesdouyin.com/share/video/{}/".format( # self.resp['data']['main_task']["video_id"]) # print(self.task_id) task_data = douyin_1009(self.device_id, self.resp['data']['main_task']["video_id"], self.pixel, self.robot_id, self.task_id, self.nickname, self.bind_phone) submit_data = task_json_1001(self.robot_id, self.task_id, task_data["finish"], task_data["type"], "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, task_data["submit_info"]), task_data["submit_img_url"]) print("submit_data:", submit_data) result_json = SubmitTask(submit_data) print("10003-1010:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") else: # msg = image_upload(self.device_id, "verifyFailed.png") submit_data = task_json_1001(self.robot_id, self.task_id, -1, 0, "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, live_account["errorInfo"]), "") result_json = SubmitTask(submit_data) print("10003-1010:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") if self.resp['data']['main_task']['task_type']['code'] == "1010": # 播放 self.room_id = self.resp['data']['main_task']["live_room_id"] #####################################先执行验号如果验号失败就上传验号结果即可###################### Dou_1006 = DouYin_1006(self.robot_id, self.task_id, self.nickname, "VeriCode",self.bind_phone ,self.account_id,self.platform_id,self.pixel) live_account = Dou_1006.LoginByVeriCode() print("账号:", live_account) if "live_account" in live_account: # msg = image_upload(self.device_id, "verifySuccess.png") submit_data = task_json_1006(self.robot_id, self.task_id, 0, 0, "昵称:{}({})|事件:本机登录账号正确".format(self.nickname,self.bind_phone), "10003", live_account["live_account"]["account_id"], live_account["live_account"]["nickname"], live_account["live_account"]["live_account_content"], "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ################################################验号成功执行用户关注############################ self.room_id = self.resp['data']['main_task']["live_room_id"] # uri = "https://www.iesdouyin.com/share/video/{}/".format( # self.resp['data']['main_task']["video_id"]) # print(self.task_id) task_data = douyin_1010(self.device_id, self.resp['data']['main_task']["video_id"], self.pixel, self.robot_id, self.task_id, self.nickname, self.bind_phone) submit_data = task_json_1001(self.robot_id, self.task_id, task_data["finish"], task_data["type"], "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, task_data["submit_info"]), task_data["submit_img_url"]) print("submit_data:", submit_data) result_json = SubmitTask(submit_data) print("10003-1010:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") else: # msg = image_upload(self.device_id, "verifyFailed.png") submit_data = task_json_1001(self.robot_id, self.task_id, -1, 0, "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, live_account["errorInfo"]),"") result_json = SubmitTask(submit_data) print("10003-1010:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") if self.resp['data']['main_task']['task_type']['code'] == "1007": # 评论 self.room_id = self.resp['data']['main_task']["live_room_id"] #####################################先执行验号如果验号失败就上传验号结果即可###################### Dou_1006 = DouYin_1006(self.robot_id, self.task_id, self.nickname, "VeriCode", self.bind_phone, self.account_id, self.platform_id, self.pixel) live_account = Dou_1006.LoginByVeriCode() print("账号:", live_account) if "live_account" in live_account: # msg = image_upload(self.device_id, "verifySuccess.png") submit_data = task_json_1006(self.robot_id, self.task_id, 0, 0, "昵称:{}({})|事件:本机登录账号正确".format(self.nickname, self.bind_phone), "10003", live_account["live_account"]["account_id"], live_account["live_account"]["nickname"], live_account["live_account"]["live_account_content"], "") result_json = SubmitTask(submit_data) print("10003-1006:", result_json) ################################################验号成功执行用户关注############################ self.room_id = self.resp['data']['main_task']["live_room_id"] content = {} content["barrages"] = self.resp['data']['account_list'][0]["barrages"] content["barrages_interval"] = self.resp['data']['account_list'][0]["barrages_interval"] if "is_random" in self.resp['data']['account_list'][0]: content["is_random"] = self.resp['data']['account_list'][0]["is_random"] else: content["is_random"] = 0 task_data = douyin_1007(self.device_id, self.resp['data']['main_task']["video_id"], self.pixel, content) submit_data = task_json_1001(self.robot_id, self.task_id, task_data["finish"], task_data["type"], "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, task_data["submit_info"]), task_data["submit_img_url"]) print("submit_data:", submit_data) result_json = SubmitTask(submit_data) print("10003-1010:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") else: # msg = image_upload(self.device_id, "verifyFailed.png") submit_data = task_json_1001(self.robot_id, self.task_id, -1, 0, "昵称:{}({})|事件:{}".format(self.nickname, self.bind_phone, live_account["errorInfo"]), "") result_json = SubmitTask(submit_data) print("10003-1010:", result_json) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") if self.resp['code'] == 2: print("执行初始化验号!") self.device_id = get_device_id() self.pixel = getSreanPixels(self.device_id) Dou_1006 = DouYin_1006(self.resp['robot_id'], "init", "", "", "", "", "10003", self.pixel) init_account_id = Dou_1006.CheckAccount() print("init_account_id:", init_account_id) if init_account_id: config_init = configparser.ConfigParser() config_init.read('settings.conf') config_init.set('appInfo', 'account_id', init_account_id) config_init.write(open("settings.conf", 'w')) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") else: return "no new task OR on taking" except Exception as e: result_json = SubmitTask(task_json_1001(self.robot_id, self.task_id, -1, 0, "昵称:{}({})系统崩溃异常:".format(self.nickname, self.bind_phone) + str(e))) print("任务执行异常",result_json) traceback.print_exc() print(e) ExecuteCmd("adb -s " + self.device_id + " shell am force-stop com.ss.android.ugc.aweme") if __name__ == "__main__": robot_id = "" account_id = "" # 启动短信程序 # try: # sms_get = Sms_get() # sms_get.start() # except Exception as e: # print("短信启动出错") config = configparser.ConfigParser() config.read('settings.conf') orgin_robot_id = config.get("appInfo", "robot_id") if orgin_robot_id == "init": robot_id = str(uuid.uuid4()).upper() config.set('appInfo', 'robot_id', robot_id) config.write(open("settings.conf", 'w')) else: robot_id = orgin_robot_id # result = douyin_init(get_device_id()) initiative_queryData = {} orgin_account_id = config.get("appInfo", "account_id") # 有问题代码 if orgin_account_id == "init": try: print("这个有问题") init_value = { "code": 2, "robot_id": robot_id } Tp = TaskParser(resp=init_value) Tp.start() Tp.join() time.sleep(1) #这个有问题 # device_id = get_device_id() # pixel = getSreanPixels(device_id) # Dou_1006 = DouYin_1006(robot_id, "init", "", "", "", "", # "10003", pixel) # orgin_account_id = Dou_1006.CheckAccount() except Exception as e: traceback.print_exc() print(e) config.read('settings.conf') orgin_account_id = config.get("appInfo", "account_id") print(orgin_account_id) if orgin_account_id and orgin_account_id != "init": initiative_queryData = { "robot_id": robot_id, "type": "app", "platform_id": "10003", "account_id": orgin_account_id } # config.set('appInfo', 'account_id', orgin_account_id) # config.write(open("settings.conf", 'w')) else: initiative_queryData = { "robot_id": robot_id, "type": "app", "platform_id": "10003" } # if orgin_account_id == "init": # initiative_queryData = { # "robot_id": robot_id, # "type": "app", # "platform_id": "10003" # # , # # "account_id": "dyzbva5nwda0" # } # else: # initiative_queryData = { # "robot_id": robot_id, # "type": "app", # "platform_id": "10003", # "account_id": orgin_account_id # } # if "account_id" in initiative_queryData: # print(1234) # else: # live_account = douyin_init() # if "live_account" in live_account: # if "account_id" in live_account["live_account"]: # initiative_queryData["account_id" ] = live_account["live_account"]["account_id"] while True: # print('Read---Before get value') try: url = "http://xinze001.f3322.net:8005/open/api/live/sub/task/get" print("正在获取任务:", datetime.now().strftime('%Y-%m-%d %H:%M:%S'), initiative_queryData) resp = requests.post(url, json=initiative_queryData) # print(resp.text) value= json.loads(resp.text) if value['code'] == 0: if value['data']['main_task']['task_type']['code'] == '1000': submit_data = { "robot_id": value['data']['robot_id'], "task_id": value['data']['task_id'], "finish": 1, "type": 0, "submit_info": "开始更新", "submit_time": datetime.now().strftime('%Y-%m-%d %H:%M:%S') } print("submit_data:", submit_data) result_json = SubmitTask(submit_data) device_id = get_device_id() print("device_id:") print(device_id) ScreenStart(device_id) change_ime(device_id) ExecuteCmd_sys("rm -rf update.py") ExecuteCmd_sys("rm -rf update.sh") ExecuteCmd_sys("wget http://app.auto.xinzew.com/static/update.sh") ExecuteCmd_sys("wget http://app.auto.xinzew.com/static/update.py") try: sms_get.terminate() sms_get.join() except: pass ExecuteCmd_sys("nohup python update.py '"+device_id+"' >/dev/null 2>&1 &") exit() Tp = TaskParser(resp = value) Tp.start() Tp.join() time.sleep(1) if value['data']['main_task']['task_type']['code'] == '1006': config.read('settings.conf') orgin_account_id = config.get("appInfo", "account_id") if orgin_account_id == "init": initiative_queryData = { "robot_id": robot_id, "type": "app", "platform_id": "10003" # , # "account_id": "dyzbva5nwda0" } else: initiative_queryData = { "robot_id": robot_id, "type": "app", "platform_id": "10003", "account_id": config.get("appInfo", "account_id") } # print('Read---After get value---%s' % str(value)) except Exception as e: traceback.print_exc() print(e) time.sleep(5)