From 762ca46f903cd2db50374d707321111ba38ce991 Mon Sep 17 00:00:00 2001 From: Hobr Date: Fri, 28 Jun 2024 12:18:06 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=81=E7=A8=8B=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit create 项目不可售 等待开票 验证加载try token获取后查询票数&输出增加 "程序正在准备退出..."提示增加 token获取成功后查询票数 --- cli.py | 11 +++++++++-- util/Bilibili/__init__.py | 9 ++++----- util/Captcha/__init__.py | 2 ++ util/Config/__init__.py | 1 + util/Data/__init__.py | 3 +++ util/Login/__init__.py | 1 + util/Request/__init__.py | 1 + util/Task/__init__.py | 10 +++++++++- 8 files changed, 30 insertions(+), 8 deletions(-) diff --git a/cli.py b/cli.py index 8896362..f98786c 100644 --- a/cli.py +++ b/cli.py @@ -1,6 +1,7 @@ import os import shutil import threading +from time import sleep from bili_ticket_gt_python import ClickPy from loguru import logger @@ -52,8 +53,14 @@ productData = Config(dir="product") settingData = Config(dir="setting") # 验证 - gtPy = ClickPy() - cap = Captcha(gtPy=gtPy) + try: + gtPy = ClickPy() + cap = Captcha(gtPy=gtPy) + except Exception: + logger.error("【自动过验证】初始化失败!") + logger.warning("程序正在准备退出...") + sleep(5) + exit() # 检测配置文件情况 userList = userData.List() diff --git a/util/Bilibili/__init__.py b/util/Bilibili/__init__.py index 0010c35..3853ede 100644 --- a/util/Bilibili/__init__.py +++ b/util/Bilibili/__init__.py @@ -335,13 +335,12 @@ def CreateOrder(self) -> int: sleep(5) exit() - # TODO 项目不可售 等待开票 + # 项目不可售 等待开票 elif code == 100016: logger.error("【创建订单】该项目目前不可售!") - # logger.warning("程序正在准备退出...") - # sleep(5) - # exit() - return 3 + logger.warning("程序正在准备退出...") + sleep(5) + exit() # 失败 else: diff --git a/util/Captcha/__init__.py b/util/Captcha/__init__.py index ffa71c4..0ae8ee2 100644 --- a/util/Captcha/__init__.py +++ b/util/Captcha/__init__.py @@ -74,6 +74,7 @@ def Manual(self, challenge) -> str: if not browser_list: logger.error("【登录】未找到可用浏览器/WebDriver! 建议选择其他方式登录") + logger.warning("程序正在准备退出...") sleep(5) exit() @@ -91,6 +92,7 @@ def Manual(self, challenge) -> str: if not driver: logger.error("【登录】所有浏览器/WebDriver尝试登录均失败") + logger.warning("程序正在准备退出...") sleep(5) exit() diff --git a/util/Config/__init__.py b/util/Config/__init__.py index 1a7842c..0ee6036 100644 --- a/util/Config/__init__.py +++ b/util/Config/__init__.py @@ -53,6 +53,7 @@ def List(self) -> list: except Exception as e: logger.exception(f"【配置】读取配置列表错误! {e}") + logger.warning("程序正在准备退出...") sleep(5) exit() diff --git a/util/Data/__init__.py b/util/Data/__init__.py index 7e51327..55d28ad 100644 --- a/util/Data/__init__.py +++ b/util/Data/__init__.py @@ -60,6 +60,7 @@ def QRGenerate(self, url: str) -> None: parent_name = parent_process.name() except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess): logger.error("获取父进程信息失败!") + logger.warning("程序正在准备退出...") sleep(5) exit() @@ -197,6 +198,7 @@ def AESDecrypt(self, data: str) -> str: return decrypted_text.decode("utf-8") except Exception: logger.error("【解密】这是你的配置吗?") + logger.warning("程序正在准备退出...") sleep(5) exit() @@ -263,5 +265,6 @@ def Inquire( return res["res"] else: logger.error("【交互】未知错误!") + logger.warning("程序正在准备退出...") sleep(5) exit() diff --git a/util/Login/__init__.py b/util/Login/__init__.py index c0500ee..c6ca8a7 100644 --- a/util/Login/__init__.py +++ b/util/Login/__init__.py @@ -407,6 +407,7 @@ def Status(self) -> dict: return self.cookie else: logger.error("【登录状态检测】登录失败") + logger.warning("程序正在准备退出...") sleep(5) exit() diff --git a/util/Request/__init__.py b/util/Request/__init__.py index 0eebdda..cb80bf8 100644 --- a/util/Request/__init__.py +++ b/util/Request/__init__.py @@ -171,5 +171,6 @@ def ResponseHook(self, response: httpx.Response) -> None: logger.error(f"【Request响应】请求错误, 状态码: {response.status_code}") else: logger.error("【Request响应】IP被412风控!!!!!请更换IP后再次使用(重启路由器/使用手机流量热点/梯子...)") + logger.warning("程序正在准备退出...") sleep(5) exit() diff --git a/util/Task/__init__.py b/util/Task/__init__.py index 72e18a1..0551780 100644 --- a/util/Task/__init__.py +++ b/util/Task/__init__.py @@ -163,8 +163,12 @@ def QueryTokenAction(self) -> None: 返回值: 0-成功, 1-验证码, 2-失败 """ self.queryTokenResult = self.api.QueryToken() + # 顺路 - self.api.QueryAmount() + if self.queryTokenResult == 0: + self.api.QueryAmount() + + # 防风控 sleep(self.sleep) @logger.catch @@ -190,6 +194,8 @@ def QueryTicketAction(self) -> None: 返回值: True-成功, False-失败 """ self.queryTicketResult = self.api.QueryAmount() + + # 防风控 sleep(self.sleep) @logger.catch @@ -200,6 +206,8 @@ def CreateOrderAction(self) -> None: 返回值: 0-成功, 1-刷新, 2-等待, 3-失败 """ self.createOrderResult = self.api.CreateOrder() + + # 防风控 sleep(self.sleep) @logger.catch