diff --git a/src/tdlib/messages.rs b/src/tdlib/messages.rs index 5d7c23d..6e4b18b 100644 --- a/src/tdlib/messages.rs +++ b/src/tdlib/messages.rs @@ -3,6 +3,7 @@ use crate::types::{ChatId, MessageId}; use tdlib_rs::enums::{InputMessageContent, InputMessageReplyTo, SearchMessagesFilter, TextParseMode}; use tdlib_rs::functions; use tdlib_rs::types::{FormattedText, InputMessageReplyToMessage, InputMessageText, Message as TdMessage, TextParseModeMarkdown}; +use tokio::time::{sleep, Duration}; use super::types::{MessageBuilder, MessageInfo, ReplyInfo}; @@ -188,9 +189,11 @@ impl MessageManager { // Если это первая загрузка и получили мало сообщений - продолжаем попытки // TDLib может подгружать данные с сервера постепенно - if all_messages.is_empty() && - received_count < (chunk_size as usize) && + if all_messages.is_empty() && + received_count < (chunk_size as usize) && attempt < max_attempts_per_chunk { + // Даём TDLib время на синхронизацию с сервером + sleep(Duration::from_millis(100)).await; continue; }