Немного оптимизировано и поправлен список зависимостей

This commit is contained in:
2025-06-29 15:27:19 +03:00
parent c481e3e931
commit b5947e5f47
6 changed files with 96 additions and 88 deletions

View File

@@ -23,10 +23,10 @@ from ..loggers import logger_bot
if TYPE_CHECKING:
from ..bot import Bot
class UploadResponse:
token: str = None
RETRY_DELAY = 2
ATTEMPTS_COUNT = 5
class SendMessage(BaseConnection):
@@ -70,6 +70,9 @@ class SendMessage(BaseConnection):
att: InputMedia
):
# очень нестабильный метод независящий от модуля
# ждем обновлений MAX API
"""
Загружает файл вложения и формирует объект AttachmentUpload.
@@ -140,11 +143,11 @@ class SendMessage(BaseConnection):
json['attachments'].append(att.model_dump())
if not self.link is None: json['link'] = self.link.model_dump()
if not self.notify is None: json['notify'] = self.notify
json['notify'] = self.notify
if not self.parse_mode is None: json['format'] = self.parse_mode.value
response = None
for attempt in range(5):
for attempt in range(ATTEMPTS_COUNT):
response = await super().request(
method=HTTPMethod.POST,
path=ApiPath.MESSAGES,
@@ -155,8 +158,8 @@ class SendMessage(BaseConnection):
if isinstance(response, Error):
if response.raw.get('code') == 'attachment.not.ready':
logger_bot.info(f'Ошибка при отправке загруженного медиа, попытка {attempt+1}, жду 2 секунды')
await asyncio.sleep(2)
logger_bot.info(f'Ошибка при отправке загруженного медиа, попытка {attempt+1}, жду {RETRY_DELAY} секунды')
await asyncio.sleep(RETRY_DELAY)
continue
return response