diff --git a/config.py b/config.py index 8cc359f..7abed11 100644 --- a/config.py +++ b/config.py @@ -101,4 +101,3 @@ def Clear_cookies(): f.flush() f.close() tools.log.info("Cookie删除完毕") - exit(1) diff --git a/error.py b/error.py new file mode 100644 index 0000000..63e2fa5 --- /dev/null +++ b/error.py @@ -0,0 +1,5 @@ +class cookieError(Exception): + def __init__(self, info): + self.info = info + def __str__(self): + return repr(self.info) \ No newline at end of file diff --git a/login.py b/login.py index bc14b7c..3c0a052 100644 --- a/login.py +++ b/login.py @@ -1,14 +1,15 @@ -from tools import log import config import request import setting +from tools import log +from error import cookieError def login(): if config.mihoyobbs_Cookies == '': log.error("请填入Cookies!") config.Clear_cookies() - exit(1) + raise cookieError('No cookie') # 判断Cookie里面是否有login_ticket 没有的话直接退了 if "login_ticket" in config.mihoyobbs_Cookies: temp_Cookies = config.mihoyobbs_Cookies.split(";") @@ -28,8 +29,8 @@ def login(): else: log.error("cookie已失效,请重新登录米游社抓取cookie") config.Clear_cookies() - exit(1) + raise cookieError('Cookie expires') else: log.error("cookie中没有'login_ticket'字段,请重新登录米游社,重新抓取cookie!") config.Clear_cookies() - exit(1) + raise cookieError('Cookie lost login_ticket') diff --git a/main.py b/main.py index d8bec38..f7e84e2 100644 --- a/main.py +++ b/main.py @@ -7,6 +7,7 @@ import genshin import setting import mihoyobbs import honkai3rd +from error import cookieError def main(): @@ -78,5 +79,8 @@ def main(): if __name__ == "__main__": - main() + try: + main() + except cookieError: + print("账号Cookie有问题!") pass diff --git a/main_multi.py b/main_multi.py index 17dc3cd..28245e0 100644 --- a/main_multi.py +++ b/main_multi.py @@ -6,6 +6,7 @@ import tools import config import random import setting +from error import cookieError # 搜索配置文件 @@ -32,13 +33,20 @@ def main_multi(autorun: bool): input("请输入回车继续,需要重新搜索配置文件请Ctrl+C退出脚本") except: exit(0) + results = {"ok":[],"error":[]} for i in iter(config_List): tools.log.info(f"正在执行{i}") setting.mihoyobbs_List_Use = [] config.config_Path = f"{config.path}/{i}" - main.main() + try: + main.main() + except cookieError: + results["error"].append(i) + else: + results["ok"].append(i) tools.log.info(f"{i}执行完毕") time.sleep(random.randint(3, 10)) + print(f'脚本执行完毕,共执行{len(config_List)}个配置文件,成功{len(results["ok"])}个,失败{len(results["error"])}个') if __name__ == "__main__": diff --git a/mihoyobbs.py b/mihoyobbs.py index 74999f1..bf87310 100644 --- a/mihoyobbs.py +++ b/mihoyobbs.py @@ -4,6 +4,8 @@ import config import random import setting from request import http +from error import cookieError + Today_getcoins = 0 Today_have_getcoins = 0 # 这个变量以后可能会用上,先留着了 @@ -52,7 +54,7 @@ class mihoyobbs: if "err" in data["message"] or data["retcode"] == -100: tools.log.info("获取任务列表失败,你的cookie可能已过期,请重新设置cookie。") config.Clear_cookies() - exit(1) + raise cookieError('Cookie expires') else: Today_getcoins = data["data"]["can_get_points"] Today_have_getcoins = data["data"]["already_received_points"] @@ -120,7 +122,7 @@ class mihoyobbs: else: tools.log.info("签到失败,你的cookie可能已过期,请重新设置cookie。") config.Clear_cookies() - exit(1) + raise cookieError('Cookie expires') # 看帖子 def Readposts(self):