From e5dc40e3c1cf92ce686bbfbf96b5965bb9eb4e3c Mon Sep 17 00:00:00 2001 From: thsrite Date: Thu, 7 Sep 2023 10:24:21 +0800 Subject: [PATCH] =?UTF-8?q?fix=20token=E8=BF=87=E6=9C=9F=E5=90=8E=E9=87=8D?= =?UTF-8?q?=E6=96=B0=E8=8E=B7=E5=8F=96=E3=80=81=E9=87=8D=E6=96=B0=E5=8F=91?= =?UTF-8?q?=E9=80=81=E8=AF=B7=E6=B1=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/plugins/messageforward/__init__.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/app/plugins/messageforward/__init__.py b/app/plugins/messageforward/__init__.py index 52855564..4927ab2d 100644 --- a/app/plugins/messageforward/__init__.py +++ b/app/plugins/messageforward/__init__.py @@ -303,7 +303,7 @@ class MessageForward(_PluginBase): "enable_id_trans": 0, "enable_duplicate_check": 0 } - return self.__post_request(message_url, req_json, i, title) + return self.__post_request(message_url=message_url, req_json=req_json, i=i, title=title) def __send_image_message(self, title: str, text: str, image_url: str, userid: str = None, access_token: str = None, appid: str = None, i: int = None) -> Optional[bool]: @@ -335,9 +335,9 @@ class MessageForward(_PluginBase): ] } } - return self.__post_request(message_url, req_json, i, title) + return self.__post_request(message_url=message_url, req_json=req_json, i=i, title=title) - def __post_request(self, message_url: str, req_json: dict, i: int, title: str) -> bool: + def __post_request(self, message_url: str, req_json: dict, i: int, title: str, retry: int = 0) -> bool: """ 向微信发送请求 """ @@ -355,6 +355,11 @@ class MessageForward(_PluginBase): if ret_json.get('errcode') == 42001: # 重新获取token self.__flush_access_token(i) + retry += 1 + # 重发请求 + if retry <= 3: + self.__post_request(message_url=message_url, req_json=req_json, i=i, title=title, + retry=retry) logger.error(f"转发消息 {title} 失败,错误信息:{ret_json}") return False elif res is not None: @@ -364,7 +369,7 @@ class MessageForward(_PluginBase): logger.error(f"转发消息 {title} 失败,未获取到返回信息") return False except Exception as err: - logger.error(f"转发消息 {title} 失败,错误信息:{err}") + logger.error(f"转发消息 {title} 异常,错误信息:{err}") return False def __get_access_token(self, corpid, appsecret):