From edb0f5463052808ffcec82648d7a58013aab0ff2 Mon Sep 17 00:00:00 2001 From: Womsxd <45663319+Womsxd@users.noreply.github.com> Date: Tue, 26 Apr 2022 15:49:55 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=8F=98=E9=87=8F=E5=90=8D?= =?UTF-8?q?=E7=A7=B0&=E5=87=86=E5=A4=87=E5=BC=95=E5=85=A5v5=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E9=85=8D=E7=BD=AE=E6=96=87=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- config.py | 55 +++++++++++++++++++++++++++++----------------------- genshin.py | 2 +- honkai2.py | 2 +- honkai3rd.py | 2 +- login.py | 16 +++++++-------- main.py | 6 +++--- mihoyobbs.py | 2 +- tools.py | 2 +- 8 files changed, 47 insertions(+), 40 deletions(-) diff --git a/config.py b/config.py index cc3f2c4..bb69489 100644 --- a/config.py +++ b/config.py @@ -3,13 +3,13 @@ import json from loghelper import log # 是否启用config -enable_Config = True +enable = True # 这里的内容会自动获取 -mihoyobbs_Login_ticket = "" -mihoyobbs_Stuid = "" -mihoyobbs_Stoken = "" +login_ticket = "" +stuid = "" +stoken = "" # 这里是米游社的cookie -mihoyobbs_Cookies = "" +cookies = "" # 这个dist里面的内容和米游社有关 mihoyobbs = { # 全局开关,关闭之后下面的都不执行 @@ -41,25 +41,32 @@ path = os.path.dirname(os.path.realpath(__file__)) + "/config" config_Path = f"{path}/config.json" +def load_v4(data: dict): + global enable + global login_ticket + global stuid + global stoken + global cookies + global mihoyobbs + global genshin_Auto_sign + global honkai3rd_Auto_sign + enable = data["enable_Config"] + login_ticket = data["mihoyobbs_Login_ticket"] + stuid = data["mihoyobbs_Stuid"] + stoken = data["mihoyobbs_Stoken"] + cookies = data["mihoyobbs_Cookies"] + mihoyobbs = data["mihoyobbs"] + genshin_Auto_sign = data["genshin_Auto_sign"] + honkai3rd_Auto_sign = data["honkai3rd_Auto_sign"] + + def load_config(): with open(config_Path, "r") as f: data = json.load(f) - global enable_Config - global mihoyobbs_Login_ticket - global mihoyobbs_Stuid - global mihoyobbs_Stoken - global mihoyobbs_Cookies - global mihoyobbs - global genshin_Auto_sign - global honkai3rd_Auto_sign - enable_Config = data["enable_Config"] - mihoyobbs_Login_ticket = data["mihoyobbs_Login_ticket"] - mihoyobbs_Stuid = data["mihoyobbs_Stuid"] - mihoyobbs_Stoken = data["mihoyobbs_Stoken"] - mihoyobbs_Cookies = data["mihoyobbs_Cookies"] - mihoyobbs = data["mihoyobbs"] - genshin_Auto_sign = data["genshin_Auto_sign"] - honkai3rd_Auto_sign = data["honkai3rd_Auto_sign"] + if data.get('version') == 5: + pass + else: + load_v4(data) f.close() log.info("Config加载完毕") @@ -67,9 +74,9 @@ def load_config(): def save_config(): with open(config_Path, "r+") as f: data = json.load(f) - data["mihoyobbs_Login_ticket"] = mihoyobbs_Login_ticket - data["mihoyobbs_Stuid"] = mihoyobbs_Stuid - data["mihoyobbs_Stoken"] = mihoyobbs_Stoken + data["mihoyobbs_Login_ticket"] = login_ticket + data["mihoyobbs_Stuid"] = stuid + data["mihoyobbs_Stoken"] = stoken f.seek(0) f.truncate() temp_text = json.dumps(data, sort_keys=False, indent=4, separators=(', ', ': ')) diff --git a/genshin.py b/genshin.py index c106fac..d6bc179 100644 --- a/genshin.py +++ b/genshin.py @@ -24,7 +24,7 @@ class Genshin: 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,en-US;q=0.8', 'X-Requested-With': 'com.mihoyo.hyperion', - "Cookie": config.mihoyobbs_Cookies, + "Cookie": config.cookies, 'x-rpc-device_id': tools.get_device_id() } self.acc_List = get_account_list("hk4e_cn", self.headers) diff --git a/honkai2.py b/honkai2.py index aefa515..00ffbcf 100644 --- a/honkai2.py +++ b/honkai2.py @@ -25,7 +25,7 @@ class Honkai2: 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,en-US;q=0.8', 'X-Requested-With': 'com.mihoyo.hyperion', - "Cookie": config.mihoyobbs_Cookies, + "Cookie": config.cookies, 'x-rpc-device_id': tools.get_device_id() } self.acc_List = get_account_list("bh2_cn", self.headers) diff --git a/honkai3rd.py b/honkai3rd.py index 09aba9a..f56ac1a 100644 --- a/honkai3rd.py +++ b/honkai3rd.py @@ -24,7 +24,7 @@ class Honkai3rd: 'Accept-Encoding': 'gzip, deflate', 'Accept-Language': 'zh-CN,en-US;q=0.8', 'X-Requested-With': 'com.mihoyo.hyperion', - "Cookie": config.mihoyobbs_Cookies, + "Cookie": config.cookies, 'x-rpc-device_id': tools.get_device_id() } self.acc_List = get_account_list("bh3_cn", self.headers) diff --git a/login.py b/login.py index 4172e5c..5b5667e 100644 --- a/login.py +++ b/login.py @@ -6,24 +6,24 @@ from error import CookieError def login(): - if config.mihoyobbs_Cookies == '': + if config.cookies == '': log.error("请填入Cookies!") config.clear_cookies() raise CookieError('No cookie') # 判断Cookie里面是否有login_ticket 没有的话直接退了 - if "login_ticket" in config.mihoyobbs_Cookies: - temp_cookies = config.mihoyobbs_Cookies.split(";") + if "login_ticket" in config.cookies: + temp_cookies = config.cookies.split(";") for i in temp_cookies: if i.split("=")[0] == " login_ticket": - config.mihoyobbs_Login_ticket = i.split("=")[1] + config.login_ticket = i.split("=")[1] break # 这里获取Stuid,但是实际是可以直接拿cookie里面的Uid - data = http.get(url=setting.bbs_Cookie_url.format(config.mihoyobbs_Login_ticket)).json() + data = http.get(url=setting.bbs_Cookie_url.format(config.login_ticket)).json() if "成功" in data["data"]["msg"]: - config.mihoyobbs_Stuid = str(data["data"]["cookie_info"]["account_id"]) + config.stuid = str(data["data"]["cookie_info"]["account_id"]) data = http.get(url=setting.bbs_Cookie_url2.format( - config.mihoyobbs_Login_ticket, config.mihoyobbs_Stuid)).json() - config.mihoyobbs_Stoken = data["data"]["list"][0]["token"] + config.login_ticket, config.stuid)).json() + config.stoken = data["data"]["list"][0]["token"] log.info("登录成功!") log.info("正在保存Config!") config.save_config() diff --git a/main.py b/main.py index 885f5a0..c05bcc5 100644 --- a/main.py +++ b/main.py @@ -15,9 +15,9 @@ def main(): # 初始化,加载配置 return_data = "\n米游社: " config.load_config() - if config.enable_Config: + if config.enable: # 检测参数是否齐全,如果缺少就进行登入操作 - if config.mihoyobbs_Login_ticket == "" or config.mihoyobbs_Stuid == "" or config.mihoyobbs_Stoken == "": + if config.login_ticket == "" or config.stuid == "" or config.stoken == "": # 登入,如果没开启bbs全局没打开就无需进行登入操作 if config.mihoyobbs["bbs_Global"]: login.login() @@ -81,7 +81,7 @@ def main(): else: log.info("崩坏3签到功能未启用!") return 0, return_data - elif config.mihoyobbs_Cookies == "CookieError": + elif config.cookies == "CookieError": raise CookieError('Cookie expires') else: log.warning("Config未启用!") diff --git a/mihoyobbs.py b/mihoyobbs.py index 8e8d38b..a6571d8 100644 --- a/mihoyobbs.py +++ b/mihoyobbs.py @@ -16,7 +16,7 @@ class Mihoyobbs: def __init__(self): self.headers = { "DS": tools.get_ds(web=False, web_old=False), - "cookie": f"stuid={config.mihoyobbs_Stuid};stoken={config.mihoyobbs_Stoken}", + "cookie": f"stuid={config.stuid};stoken={config.stoken}", "x-rpc-client_type": setting.mihoyobbs_Client_type, "x-rpc-app_version": setting.mihoyobbs_Version, "x-rpc-sys_version": "6.0.1", diff --git a/tools.py b/tools.py index 5a42ca0..34f28c8 100644 --- a/tools.py +++ b/tools.py @@ -41,7 +41,7 @@ def get_ds(web: bool, web_old: bool) -> str: # 生成一个device id def get_device_id() -> str: - return str(uuid.uuid3(uuid.NAMESPACE_URL, config.mihoyobbs_Cookies)).replace( + return str(uuid.uuid3(uuid.NAMESPACE_URL, config.cookies)).replace( '-', '').upper()