diff --git a/genshin.py b/genshin.py index bf58f58..b3672da 100644 --- a/genshin.py +++ b/genshin.py @@ -22,7 +22,7 @@ class genshin: 'x-rpc-device_id': tools.Get_deviceid() } self.acc_List = self.Getacc_list() - if (len(self.acc_List) != 0): + if len(self.acc_List) != 0: self.sing_Give = self.Get_singgive() #获取绑定的账号列表 @@ -31,65 +31,65 @@ class genshin: temp_List = [] req = httpx.get(setting.genshin_Account_info_url, headers=self.headers) data = req.json() - if (data["retcode"] != 0): + if data["retcode"] != 0: tools.log.warn("获取账号列表失败!") exit() for i in data["data"]["list"]: temp_List.append([i["nickname"], i["game_uid"], i["region"]]) tools.log.info(f"已获取到{len(temp_List)}个原神账号信息") - return (temp_List) + return temp_List #获取签到的奖励名称 def Get_item(self, raw_data:dict) ->str: temp_Name = raw_data["name"] temp_Cnt = raw_data["cnt"] - return (f"{temp_Name}x{temp_Cnt}") + return f"{temp_Name}x{temp_Cnt}" #获取已经签到奖励列表 def Get_singgive(self) -> list: tools.log.info("正在获取签到奖励列表...") req = httpx.get(setting.genshin_Singlisturl.format(setting.genshin_Act_id),headers=self.headers) data = req.json() - if (data["retcode"] != 0): + if data["retcode"] != 0: tools.log.warn("获取签到奖励列表失败") print (req.text) exit() - return (data["data"]["awards"]) + return data["data"]["awards"] #判断签到 def Is_sing(self, region:str, uid:str): req = httpx.get(setting.genshin_Is_singurl.format(setting.genshin_Act_id, region, uid), headers=self.headers) data = req.json() - if (data["retcode"] != 0): + if data["retcode"] != 0: tools.log.warn("获取账号签到信息失败!") print (req.text) exit() - return (data["data"]) + return data["data"] #签到 def Sing_acc(self): - if (len(self.acc_List) != 0): + if len(self.acc_List) != 0: for i in self.acc_List: tools.log.info(f"正在为旅行者{i[0]}进行签到...") time.sleep(random.randint(2, 6)) is_data = self.Is_sing(region = i[2], uid = i[1]) - if (is_data["first_bind"] == True): + if is_data["first_bind"] == True: tools.log.warn(f"旅行者{i[0]}是第一次绑定米游社,请先手动签到一次") else: sing_Days = is_data["total_sign_day"] - 1 - if (is_data["is_sign"] == True): + if is_data["is_sign"] == True: tools.log.info(f"旅行者{i[0]}今天已经签到过了~\r\n今天获得的奖励是{self.Get_item(self.sing_Give[sing_Days])}") else: time.sleep(random.randint(2, 6)) req = httpx.post(url=setting.genshin_Singurl, headers=self.headers, json={'act_id': setting.genshin_Act_id, 'region': i[2], 'uid': i[1]}) data = req.json() - if (data["retcode"] == 0): - if (sing_Days == 0): + if data["retcode"] == 0: + if sing_Days == 0: tools.log.info(f"旅行者{i[0]}签到成功~\r\n今天获得的奖励是{self.Get_item(self.sing_Give[sing_Days])}") else: tools.log.info(f"旅行者{i[0]}签到成功~\r\n今天获得的奖励是{self.Get_item(self.sing_Give[sing_Days + 1])}") - elif (data["retcode"] == -5003): + elif data["retcode"] == -5003: tools.log.info(f"旅行者{i[0]}今天已经签到过了~\r\n今天获得的奖励是{self.Get_item(self.sing_Give[sing_Days])}") else: tools.log.warn("账号签到失败!") diff --git a/honkai3rd.py b/honkai3rd.py index a83b28d..a59ec57 100644 --- a/honkai3rd.py +++ b/honkai3rd.py @@ -29,59 +29,59 @@ class honkai3rd: temp_List = [] req = httpx.get(setting.honkai3rd_Account_info_url, headers=self.headers) data = req.json() - if (data["retcode"] != 0): + if data["retcode"] != 0: tools.log.warn("获取账号列表失败!") exit() for i in data["data"]["list"]: temp_List.append([i["nickname"], i["game_uid"], i["region"]]) tools.log.info(f"已获取到{len(temp_List)}个崩坏3账号信息") - return (temp_List) + return temp_List #获取签到的奖励名称 def Get_item(self, raw_data:dict) ->str: temp_Name = raw_data["name"] temp_Cnt = raw_data["cnt"] - return (f"{temp_Name}x{temp_Cnt}") + return f"{temp_Name}x{temp_Cnt}" #获取今天已经签到了的dict def Get_today_item(self,raw_data:list) -> dict: #用range进行循环,当staus等于0的时候上一个就是今天签到的dict for i in range(len(raw_data)): - if (raw_data[i]["status"] == 0): - return (raw_data[i-1]) - if (raw_data[i]["status"] == 1): - return (raw_data[i]) - if (i == int(len(raw_data) - 1) and raw_data[i]["status"] != 0): - return (raw_data[i]) + if raw_data[i]["status"] == 0: + return raw_data[i-1] + if raw_data[i]["status"] == 1: + return raw_data[i] + if i == int(len(raw_data) - 1) and raw_data[i]["status"] != 0: + return raw_data[i] #判断签到 def Is_sing(self, region:str, uid:str, nickname:str): req = httpx.get(setting.honkai3rd_Is_singurl.format(setting.honkai3rd_Act_id, region, uid), headers=self.headers) data = req.json() - if (data["retcode"] != 0): + if data["retcode"] != 0: tools.log.warn("获取账号签到信息失败!") print (req.text) exit() today_Item = self.Get_today_item(data["data"]["sign"]["list"]) - if (today_Item["status"] == 1): - return (True) + if today_Item["status"] == 1: + return True else: tools.log.info(f"舰长{nickname}今天已经签到过了~\r\n今天获得的奖励是{self.Get_item(today_Item)}") - return (False) + return False #签到 def Sing_acc(self): - if (len(self.acc_List) != 0): + if len(self.acc_List) != 0: for i in self.acc_List: tools.log.info(f"正在为舰长{i[0]}进行签到...") time.sleep(random.randint(2, 6)) is_data = self.Is_sing(region = i[2], uid = i[1], nickname = i[0]) - if (is_data == True): + if is_data == True: time.sleep(random.randint(2, 6)) req = httpx.post(url=setting.honkai3rd_SingUrl, headers=self.headers, json={'act_id': setting.honkai3rd_Act_id, 'region': i[2], 'uid': i[1]}) data = req.json() - if (data["retcode"] == 0): + if data["retcode"] == 0: today_Item = self.Get_today_item(data["data"]["list"]) tools.log.info(f"舰长{i[0]}签到成功~\r\n今天获得的奖励是{self.Get_item(today_Item)}") elif (data["retcode"] == -5003): diff --git a/login.py b/login.py index 9731a4b..59ed5c7 100644 --- a/login.py +++ b/login.py @@ -8,14 +8,14 @@ def login(): log.error("请填入Cookies!") exit() temp_Cookies = {} - if ("login_ticket" in config.mihoyobbs_Cookies): + if "login_ticket" in config.mihoyobbs_Cookies: temp_Cookies = config.mihoyobbs_Cookies.split(";") for i in temp_Cookies: - if (i.split("=")[0] == " login_ticket"): + if i.split("=")[0] == " login_ticket": config.mihoyobbs_Login_ticket = i.split("=")[1] break data = request.get(url=setting.bbs_Cookieurl.format(config.mihoyobbs_Login_ticket)) - if ("成功" in data["data"]["msg"]): + if "成功" in data["data"]["msg"]: config.mihoyobbs_Stuid = str(data["data"]["cookie_info"]["account_id"]) data = request.get(url=setting.bbs_Cookieurl2.format(config.mihoyobbs_Login_ticket, config.mihoyobbs_Stuid)) config.mihoyobbs_Stoken = data["data"]["list"][0]["token"] diff --git a/main.py b/main.py index 74515e3..d6e4989 100644 --- a/main.py +++ b/main.py @@ -9,39 +9,39 @@ import honkai3rd def main(): #初始化,加载配置 config.Load_config() - if (config.enable_Config == True): + if config.enable_Config == True: #检测参数是否齐全,如果缺少就进行登入操作 - if (config.mihoyobbs_Login_ticket == "" or config.mihoyobbs_Stuid == "" or config.mihoyobbs_Stoken == ""): + if config.mihoyobbs_Login_ticket == "" or config.mihoyobbs_Stuid == "" or config.mihoyobbs_Stoken == "": #登入 login.login() #获取要使用的BBS列表,#判断是否开启bbs_Singin_multi - if (config.mihoyobbs["bbs_Singin_multi"] == True): + if config.mihoyobbs["bbs_Singin_multi"] == True: #速度快,但是无法设置主社区,主社区默认为第一个 ''' for i in setting.mihoyobbs_List: - if (int(i["id"]) in config.mihoyobbs["bbs_Singin_multi_list"]): + if int(i["id"]) in config.mihoyobbs["bbs_Singin_multi_list"]: setting.mihoyobbs_List_Use.append(i) ''' #用这里的方案可以实现当让id在第一个的时候为主社区 for i in config.mihoyobbs["bbs_Singin_multi_list"]: for i2 in setting.mihoyobbs_List: - if (i == int(i2["id"])): + if i == int(i2["id"]): setting.mihoyobbs_List_Use.append(i2) else: #关闭bbs_Singin_multi后只签到大别墅 for i in setting.mihoyobbs_List: - if (int(i["id"]) == 5): + if int(i["id"]) == 5: setting.mihoyobbs_List_Use.append(i) #米游社签到 - if(config.mihoyobbs["bbs_Gobal"] == True): + if config.mihoyobbs["bbs_Gobal"] == True: bbs = mihoyobbs.mihoyobbs() - if (config.mihoyobbs["bbs_Singin"] == True): + if config.mihoyobbs["bbs_Singin"] == True: bbs.Singin() - if (config.mihoyobbs["bbs_Read_posts"] == True): + if config.mihoyobbs["bbs_Read_posts"] == True: bbs.Readposts() - if (config.mihoyobbs["bbs_Like_posts"] == True): + if config.mihoyobbs["bbs_Like_posts"] == True: bbs.Likeposts() - if (config.mihoyobbs["bbs_Share"] == True): + if config.mihoyobbs["bbs_Share"] == True: bbs.Share() tools.log.info(f"今天还能获得{mihoyobbs.Today_getcoins}个米游币,目前有{mihoyobbs.Have_coins}个米游币") else: @@ -54,7 +54,7 @@ def main(): else: tools.log.info("原神签到功能未启用!") #崩坏3签到 - if (config.honkai3rd_AutoSing == True): + if config.honkai3rd_AutoSing == True: tools.log.info("正在进行崩坏3签到") honkai3rd_Help = honkai3rd.honkai3rd() honkai3rd_Help.Sing_acc() diff --git a/main_multi.py b/main_multi.py index 40bcefe..9a598bf 100644 --- a/main_multi.py +++ b/main_multi.py @@ -19,10 +19,10 @@ def main_multi(): tools.log.info("AutoMihoyoBBS Multi User mode") tools.log.info("正在搜索配置文件!") config_List = Fund_config() - if (len(config_List) == 0): + if len(config_List) == 0: tools.log.warn("未检测到配置文件,请确认config文件夹存在.json后缀名的配置文件!") exit() - if (len(sys.argv) >= 2 and sys.argv[1] == "autorun"): + if len(sys.argv) >= 2 and sys.argv[1] == "autorun": tools.log.info(f"已搜索到{len(config_List)}个配置文件,正在开始执行!") else: tools.log.info(f"已搜索到{len(config_List)}个配置文件,请确认是否无多余文件!\r\n{config_List}") diff --git a/mihoyobbs.py b/mihoyobbs.py index 2171013..5671ffb 100644 --- a/mihoyobbs.py +++ b/mihoyobbs.py @@ -33,7 +33,7 @@ class mihoyobbs: } self.Get_taskslist() #如果这三个任务都做了就没必要获取帖子了 - if (self.Task_do["bbs_Read_posts"] == True and self.Task_do["bbs_Like_posts"] == True and self.Task_do["bbs_Share"] == True): + if self.Task_do["bbs_Read_posts"] == True and self.Task_do["bbs_Like_posts"] == True and self.Task_do["bbs_Share"] == True: pass else: self.postsList = self.Getlist() @@ -46,14 +46,14 @@ class mihoyobbs: tools.log.info("正在获取任务列表") req = httpx.get(url=setting.bbs_Taskslist, headers=self.headers) data = req.json() - if ("err" in data["message"]): + if "err" in data["message"]: tools.log.info("获取任务列表失败,你的cookie可能已过期,请重新设置cookie。") config.Clear_cookies() exit() else: Have_coins = data["data"]["total_points"] #如果当日可获取米游币数量为0直接判断全部任务都完成了 - if (data["data"]["can_get_points"] == 0): + if data["data"]["can_get_points"] == 0: self.Task_do["bbs_Sign"] = True self.Task_do["bbs_Read_posts"] = True self.Task_do["bbs_Like_posts"] = True @@ -62,27 +62,27 @@ class mihoyobbs: else: Today_getcoins = data["data"]["can_get_points"] #如果第0个大于或等于62则直接判定任务没做 - if (data["data"]["states"][0]["mission_id"] >= 62): + if data["data"]["states"][0]["mission_id"] >= 62: tools.log.info(f"新的一天,今天可以获得{Today_getcoins}个米游币") pass else: tools.log.info(f"似乎还有任务没完成,今天还能获得{Today_getcoins}") for i in data["data"]["states"]: #58是讨论区签到 - if (i["mission_id"] == 58): - if (i["is_get_award"] == True): + if i["mission_id"] == 58: + if i["is_get_award"] == True: self.Task_do["bbs_Sign"] = True #59是看帖子 - elif (i["mission_id"] == 59): - if (i["is_get_award"] == True): + elif i["mission_id"] == 59: + if i["is_get_award"] == True: self.Task_do["bbs_Read_posts"] = True #60是给帖子点赞 - elif (i["mission_id"] == 60): - if (i["is_get_award"] == True): + elif i["mission_id"] == 60: + if i["is_get_award"] == True: self.Task_do["bbs_Like_posts"] = True #61是分享帖子 - elif (i["mission_id"] == 61): - if (i["is_get_award"] == True): + elif i["mission_id"] == 61: + if i["is_get_award"] == True: self.Task_do["bbs_Share"] = True #分享帖子,是最后一个任务,到这里了下面都是一次性任务,直接跳出循环 break @@ -98,19 +98,19 @@ class mihoyobbs: temp_List.append([data["data"]["list"][n]["post"]["post_id"], data["data"]["list"][n]["post"]["subject"]]) tools.log.info("已获取{}个帖子".format(len(temp_List))) time.sleep(random.randint(2, 6)) - return (temp_List) + return temp_List #进行签到操作 def Singin(self): #签到这里暂时不设置判断,防止要签到的其他社区没有签到成功 - #if (self.Task_do["bbs_Sign"] == False): + #if self.Task_do["bbs_Sign"] == False: tools.log.info("正在签到......") for i in setting.mihoyobbs_List_Use: req = httpx.post(url=setting.bbs_Signurl.format(i["id"]), data="" ,headers=self.headers) data = req.json() - if ("err" not in data["message"]): + if "err" not in data["message"]: tools.log.info(str(i["name"]+ data["message"])) - time.sleep(2) + time.sleep(random.randint(2, 6)) else: tools.log.info("签到失败,你的cookie可能已过期,请重新设置cookie。") config.Clear_cookies() @@ -118,7 +118,7 @@ class mihoyobbs: #看帖子 def Readposts(self): - if (self.Task_do["bbs_Read_posts"] == False): + if self.Task_do["bbs_Read_posts"] == False: tools.log.info("正在看帖......") for i in range(3): req = httpx.get(url=setting.bbs_Detailurl.format(self.postsList[i][0]), headers=self.headers) @@ -131,21 +131,21 @@ class mihoyobbs: #点赞 def Likeposts(self): - if (self.Task_do["bbs_Like_posts"] == False): + if self.Task_do["bbs_Like_posts"] == False: tools.log.info("正在点赞......") for i in range(5): req = httpx.post(url=setting.bbs_Likeurl, headers=self.headers, json={"post_id": self.postsList[i][0], "is_cancel": False}) data = req.json() - if (data["message"] == "OK"): + if data["message"] == "OK": tools.log.info("点赞:{} 成功".format(self.postsList[i][1])) #判断取消点赞是否打开 - if (config.mihoyobbs["bbs_Unlike"] == True): + if config.mihoyobbs["bbs_Unlike"] == True: time.sleep(random.randint(2, 6)) req = httpx.post(url=setting.bbs_Likeurl, headers=self.headers, json={"post_id": self.postsList[i][0], "is_cancel": True}) data = req.json() - if (data["message"] == "OK"): + if data["message"] == "OK": tools.log.info("取消点赞:{} 成功".format(self.postsList[i][1])) time.sleep(random.randint(2, 6)) else: @@ -153,7 +153,7 @@ class mihoyobbs: #分享操作 def Share(self): - if (self.Task_do["bbs_Share"] == False): + if self.Task_do["bbs_Share"] == False: tools.log.info("正在分享......") req = httpx.get(url=setting.bbs_Shareurl.format(self.postsList[0][0]), headers=self.headers) data = req.json() diff --git a/request.py b/request.py index 0a1c66e..8e20ea7 100644 --- a/request.py +++ b/request.py @@ -4,23 +4,23 @@ import httpx def get(url:str, **headers:dict): try: req = httpx.get(url, headers=headers) - return (req.json()) + return req.json() except: print("请求失败,网络错误!") - return ("") + return "" def post(url:str, data:dict, **headers:dict): try: req = httpx.post(url, data=data, headers=headers) - return (req.json()) + return req.json() except: print("请求失败,网络错误!") - return ("") + return "" def post_json(url:str, json, **headers:dict): try: req = httpx.post(url, json=json, headers=headers) - return (req.json()) + return req.json() except: print("请求失败,网络错误!") - return ("") \ No newline at end of file + return "" \ No newline at end of file diff --git a/tools.py b/tools.py index 16b2343..2f8c89c 100644 --- a/tools.py +++ b/tools.py @@ -9,7 +9,7 @@ import hashlib import setting #Log输出,这里提供了自定义logging输出的机会,只需要创建一个logging.ini并且写入配置文件即可自定义输出 -if (os.path.exists(f"{config.path}/logging.ini") == True): +if os.path.exists(f"{config.path}/logging.ini"): logging.config.fileConfig(f"{config.path}/logging.ini") else: logging.basicConfig( @@ -23,20 +23,20 @@ log = logger = logging def MD5(text:str) -> str: md5 = hashlib.md5() md5.update(text.encode()) - return (md5.hexdigest()) + return md5.hexdigest() #随机文本 def Random_text(num:int) -> str: - return(''.join(random.sample(string.ascii_lowercase + string.digits, num))) + return''.join(random.sample(string.ascii_lowercase + string.digits, num)) #时间戳 def Timestamp() -> int: - return(int(time.time())) + return int(time.time()) #获取请求Header里的DS 当web为true则生成网页端的DS def Get_ds(web:bool, web_old:bool) -> str: - if(web == True): - if(web_old == True): + if web in True: + if web_old in True: n = setting.mihoyobbs_Salt_web_old else: n = setting.mihoyobbs_Salt_web @@ -45,15 +45,15 @@ def Get_ds(web:bool, web_old:bool) -> str: i = str(Timestamp()) r = Random_text(6) c = MD5("salt=" + n + "&t=" + i + "&r=" + r) - return (i + "," + r + "," + c) + return f"{i},{r},{c}" #生成一个device id def Get_deviceid() -> str: - return (str(uuid.uuid3(uuid.NAMESPACE_URL, config.mihoyobbs_Cookies)).replace( - '-', '').upper()) + return str(uuid.uuid3(uuid.NAMESPACE_URL, config.mihoyobbs_Cookies)).replace( + '-', '').upper() #获取明天早晨0点的时间戳 def Nextday() -> int: now_time = int(time.time()) nextday_time = now_time - now_time % 86400 + time.timezone + 86400 - return (nextday_time) \ No newline at end of file + return nextday_time \ No newline at end of file