From 9580d167bde8ed7d46ea26a0cc6e2d7a0f3b1c1f Mon Sep 17 00:00:00 2001 From: gitadmin Date: Sat, 10 Jan 2026 18:19:34 +0300 Subject: [PATCH] =?UTF-8?q?[=D0=92=D0=9E=D0=9B=D0=9A]=20=D0=BA=D0=BE=D1=80?= =?UTF-8?q?=D1=80=D0=B5=D0=BA=D1=86=D0=B8=D1=8F=20=D1=84=D0=BE=D1=80=D0=BC?= =?UTF-8?q?=D0=B0=D1=82=D0=B0=20=D1=82=D0=B0=D0=B9=D0=BC=D0=B0=D1=83=D1=82?= =?UTF-8?q?=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- tg_publish.py | 36 ++++++++++++++++++++++++++++++++---- 1 file changed, 32 insertions(+), 4 deletions(-) diff --git a/tg_publish.py b/tg_publish.py index 3bdd85e..52fd2e4 100644 --- a/tg_publish.py +++ b/tg_publish.py @@ -255,7 +255,7 @@ def _edit_caption_sync(edit_caption_url, chat_id, message_id, caption, timeout): chat_id: ID чата/канала message_id: ID сообщения для редактирования caption: Новый текст caption - timeout: Кортеж (connect_timeout, read_timeout) или число для общего таймаута + timeout: Кортеж (connect_timeout, read_timeout, write_timeout) или (connect_timeout, read_timeout) или число Returns: requests.Response объект @@ -268,10 +268,24 @@ def _edit_caption_sync(edit_caption_url, chat_id, message_id, caption, timeout): 'parse_mode': 'HTML' } + # Преобразуем timeout в формат, который принимает requests + # requests принимает либо число, либо кортеж (connect, read) + if isinstance(timeout, tuple): + if len(timeout) >= 3: + # Используем максимальный из read и write timeout + connect_timeout, read_timeout, write_timeout = timeout[0], timeout[1], timeout[2] + requests_timeout = (connect_timeout, max(read_timeout, write_timeout)) + elif len(timeout) == 2: + requests_timeout = timeout + else: + requests_timeout = timeout[0] + else: + requests_timeout = timeout + response = requests.post( edit_caption_url, json=data, - timeout=timeout + timeout=requests_timeout ) return response @@ -292,7 +306,7 @@ def _edit_text_sync(edit_text_url, chat_id, message_id, text, timeout): chat_id: ID чата/канала message_id: ID сообщения для редактирования text: Новый текст сообщения - timeout: Кортеж (connect_timeout, read_timeout) или число для общего таймаута + timeout: Кортеж (connect_timeout, read_timeout, write_timeout) или (connect_timeout, read_timeout) или число Returns: requests.Response объект @@ -306,10 +320,24 @@ def _edit_text_sync(edit_text_url, chat_id, message_id, text, timeout): 'disable_web_page_preview': True } + # Преобразуем timeout в формат, который принимает requests + # requests принимает либо число, либо кортеж (connect, read) + if isinstance(timeout, tuple): + if len(timeout) >= 3: + # Используем максимальный из read и write timeout + connect_timeout, read_timeout, write_timeout = timeout[0], timeout[1], timeout[2] + requests_timeout = (connect_timeout, max(read_timeout, write_timeout)) + elif len(timeout) == 2: + requests_timeout = timeout + else: + requests_timeout = timeout[0] + else: + requests_timeout = timeout + response = requests.post( edit_text_url, json=data, - timeout=timeout + timeout=requests_timeout ) return response