From df343479204ee05c02e28028ac25ef0f63830b49 Mon Sep 17 00:00:00 2001 From: Savely Savianok <1986developer@gmail.com> Date: Thu, 6 Feb 2025 17:59:39 +0300 Subject: [PATCH] fix: fix of crashes if messages is unable to read --- Program.cs | 40 ++++++++++++++++++++++++++-------------- 1 file changed, 26 insertions(+), 14 deletions(-) diff --git a/Program.cs b/Program.cs index cd63d2c..94cf9d2 100644 --- a/Program.cs +++ b/Program.cs @@ -86,23 +86,35 @@ namespace TelegramMessageCounter Console.ForegroundColor = ConsoleColor.White; return null; } - var res = Client.Messages_GetHistory((InputPeer)peer).Result; - List messagesList = [res]; - for (int offset = 0; offset < res.Count; offset += 100) - { - if (offset > res.Count) offset = res.Count; - Console.ForegroundColor = ConsoleColor.Yellow; - Console.Write($"\rReading messages, please wait, it may take a while... {offset} => {res.Count}"); - try + List messagesList = []; + var messageCount = 0; + try + { + var res = Client.Messages_GetHistory((InputPeer)peer).Result; + + for (int offset = 0; offset < res.Count; offset += 100) { - messagesList.Add(Client.Messages_GetHistory((InputPeer)peer, 0, default, offset).Result); - } - catch (Exception) - { - // ignored + if (offset > res.Count) offset = res.Count; + + Console.ForegroundColor = ConsoleColor.Yellow; + Console.Write($"\rReading messages, please wait, it may take a while... {offset} => {res.Count}"); + try + { + messagesList.Add(Client.Messages_GetHistory((InputPeer)peer, 0, default, offset).Result); + } + catch (Exception) + { + // ignored + } } + messageCount =res.Count; } + catch (Exception) + { + // ignored + } + Console.ForegroundColor = ConsoleColor.Yellow; Console.Write("\nEvaluating results..."); foreach (var messageBase in messagesList) @@ -127,7 +139,7 @@ namespace TelegramMessageCounter (float)myCounter / targetCounter, targetCounter, myCounter, - res.Count, + messageCount, string.IsNullOrEmpty(peer?.username ?? "") ? peer?.id.ToString() ?? "unknown" : $"@{peer?.username}"); }