From 47e1adfed78e91af327f3c7f60cccd1a873bb800 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=95=D0=B2=D0=B3=D0=B5=D0=BD=D0=B8=D0=B9=20=28=D0=A5?= =?UTF-8?q?=D1=80=D0=B0=D0=BC=D1=8B=D1=87=D0=AA=29=20=D0=A5=D1=80=D0=B0?= =?UTF-8?q?=D0=BC=D0=BE=D0=B2?= Date: Mon, 18 Aug 2025 12:41:55 +0300 Subject: [PATCH] =?UTF-8?q?-=20=D0=B8=D1=81=D0=BF=D1=80=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D0=B5=20=D0=BE=D1=88=D0=B8=D0=B1=D0=BA=D0=B8?= =?UTF-8?q?=20=D1=81=20=D0=BB=D0=B8=D1=88=D0=BD=D0=B5=D0=B9=20=D1=81=D0=BA?= =?UTF-8?q?=D0=BE=D0=B1=D0=BA=D0=BE=D0=B9=20=D0=B2=20vk-=D1=84=D1=83=D0=BD?= =?UTF-8?q?=D0=BA=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- vk_client.py | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/vk_client.py b/vk_client.py index 3eab634..49bc174 100644 --- a/vk_client.py +++ b/vk_client.py @@ -107,11 +107,25 @@ class VKClient: for attempt in range(max_retries): try: response = requests.post(url=URL_VK_POST, params=params_post, data=data) + response_json = response.json() if response.status_code == 200: - self.logger.info("Сообщение успешно опубликовано в VK") - self.logger.debug(response.json()) - return response + # Проверяем наличие ошибки в ответе VK API + if 'error' in response_json: + error_code = response_json['error']['error_code'] + error_msg = response_json['error']['error_msg'] + self.logger.error(f"Ошибка VK API {error_code}: {error_msg}") + if 'request_params' in response_json['error']: + self.logger.debug(f"Параметры запроса: {response_json['error']['request_params']}") + # Не повторяем попытки при ошибках валидации + if error_code == 100: # Invalid parameter + return None + elif 'response' in response_json: + self.logger.info("Сообщение успешно опубликовано в VK") + self.logger.debug(f"ID поста: {response_json['response'].get('post_id', 'неизвестен')}") + return response + else: + self.logger.warning(f"Неожиданный формат ответа VK: {response_json}") else: self.logger.warning(f"Ошибка при публикации в VK: {response.status_code} - {response.reason} (попытка {attempt + 1}/{max_retries})")