fix: fix of crashes if messages is unable to read

This commit is contained in:
Pavel-Savely Savianok 2025-02-06 17:59:39 +03:00
parent 645cc9a5d0
commit df34347920

View File

@ -86,23 +86,35 @@ namespace TelegramMessageCounter
Console.ForegroundColor = ConsoleColor.White; Console.ForegroundColor = ConsoleColor.White;
return null; return null;
} }
var res = Client.Messages_GetHistory((InputPeer)peer).Result;
List<Messages_MessagesBase> messagesList = [res];
for (int offset = 0; offset < res.Count; offset += 100)
{
if (offset > res.Count) offset = res.Count;
Console.ForegroundColor = ConsoleColor.Yellow; List<Messages_MessagesBase> messagesList = [];
Console.Write($"\rReading messages, please wait, it may take a while... {offset} => {res.Count}"); var messageCount = 0;
try 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); if (offset > res.Count) offset = res.Count;
}
catch (Exception) Console.ForegroundColor = ConsoleColor.Yellow;
{ Console.Write($"\rReading messages, please wait, it may take a while... {offset} => {res.Count}");
// ignored 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.ForegroundColor = ConsoleColor.Yellow;
Console.Write("\nEvaluating results..."); Console.Write("\nEvaluating results...");
foreach (var messageBase in messagesList) foreach (var messageBase in messagesList)
@ -127,7 +139,7 @@ namespace TelegramMessageCounter
(float)myCounter / targetCounter, (float)myCounter / targetCounter,
targetCounter, targetCounter,
myCounter, myCounter,
res.Count, messageCount,
string.IsNullOrEmpty(peer?.username ?? "") ? peer?.id.ToString() ?? "unknown" : $"@{peer?.username}"); string.IsNullOrEmpty(peer?.username ?? "") ? peer?.id.ToString() ?? "unknown" : $"@{peer?.username}");
} }