feat: Added counter for symbols
This commit is contained in:
50
Program.cs
50
Program.cs
@@ -46,11 +46,11 @@ namespace TelegramMessageCounter
|
||||
var res = GetInfo(user.id);
|
||||
if (res == null)
|
||||
{
|
||||
Console.WriteLine($"User {user.id} not found! Skipping...");
|
||||
Console.WriteLine($"[WARN]User {user.id} failed to analyze! Skipping...");
|
||||
continue;
|
||||
}
|
||||
|
||||
Console.WriteLine($"Multiplier {Client.User}/{res.TargetUsername} is: {res.Multiplier} of {res.MyMsg}/{res.TargetMsg} and total {res.FullMsg} messages");
|
||||
Console.WriteLine($"MessageMultiplier {Client.User}/{res.TargetUsername} is: {res.MessageMultiplier} of {res.UserMessageCount}/{res.TargetMessageCount} and total {res.FullMessageCount} messages");
|
||||
infos.Add(res);
|
||||
}
|
||||
SaveAndAddStats(infos, dataRequest.Path);
|
||||
@@ -59,8 +59,10 @@ namespace TelegramMessageCounter
|
||||
static CounterInfo? GetInfo(long targetId)
|
||||
{
|
||||
var dialogs = Client.Messages_GetAllDialogs().Result;
|
||||
int myCounter = 0;
|
||||
int targetCounter = 0;
|
||||
int userMsgCount = 0;
|
||||
int userSymbolsCount = 0;
|
||||
int targetMsgCount = 0;
|
||||
int targetSymbolsCount = 0;
|
||||
User? peer;
|
||||
try
|
||||
{
|
||||
@@ -71,7 +73,7 @@ namespace TelegramMessageCounter
|
||||
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
Console.WriteLine("[DONE]");
|
||||
Console.WriteLine($"Username is: {(peer)?.username}");
|
||||
Console.WriteLine($"Username is: {peer?.username}");
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
@@ -82,7 +84,7 @@ namespace TelegramMessageCounter
|
||||
}
|
||||
|
||||
List<Messages_MessagesBase> messagesList = [];
|
||||
var messageCount = 0;
|
||||
var fullMsgCount = 0;
|
||||
try
|
||||
{
|
||||
var res = Client.Messages_GetHistory((InputPeer)peer).Result;
|
||||
@@ -102,7 +104,7 @@ namespace TelegramMessageCounter
|
||||
// ignored
|
||||
}
|
||||
}
|
||||
messageCount =res.Count;
|
||||
fullMsgCount = res.Count;
|
||||
}
|
||||
catch (Exception)
|
||||
{
|
||||
@@ -119,9 +121,14 @@ namespace TelegramMessageCounter
|
||||
{
|
||||
if (msg.from_id != null)
|
||||
{
|
||||
myCounter++;
|
||||
userMsgCount++;
|
||||
userSymbolsCount += msg.message.Length;
|
||||
}
|
||||
else
|
||||
{
|
||||
targetMsgCount++;
|
||||
targetSymbolsCount += msg.message.Length;
|
||||
}
|
||||
else targetCounter++;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -130,10 +137,13 @@ namespace TelegramMessageCounter
|
||||
Console.ForegroundColor = ConsoleColor.White;
|
||||
|
||||
return new(
|
||||
(float)myCounter / targetCounter,
|
||||
targetCounter,
|
||||
myCounter,
|
||||
messageCount,
|
||||
(float)userMsgCount / targetMsgCount,
|
||||
(float)userSymbolsCount / targetSymbolsCount,
|
||||
userMsgCount,
|
||||
targetMsgCount,
|
||||
userSymbolsCount,
|
||||
targetSymbolsCount,
|
||||
fullMsgCount,
|
||||
string.IsNullOrEmpty(peer?.username ?? "") ? peer?.id.ToString() ?? "unknown" : $"@{peer?.username}");
|
||||
}
|
||||
|
||||
@@ -141,17 +151,19 @@ namespace TelegramMessageCounter
|
||||
{
|
||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||
Console.Write("Saving results...");
|
||||
File.Create("results.txt");
|
||||
string fileData = "";
|
||||
float multiplier = 0;
|
||||
foreach (CounterInfo info in infos)
|
||||
{
|
||||
fileData += "username: " + info.TargetUsername + "\n" +
|
||||
"multiplier: " + info.Multiplier + "\n" +
|
||||
"total messages: " + info.FullMsg + "\n" +
|
||||
"your messages: " + info.MyMsg + "\n" +
|
||||
"target messages: " + info.TargetMsg + "\n-----\n";
|
||||
multiplier += info.Multiplier;
|
||||
"message multiplier (You/Target): " + info.MessageMultiplier + "\n" +
|
||||
"symbol multiplier (You/Target): " + info.SymbolsMultiplier + "\n" +
|
||||
"total messages: " + info.FullMessageCount + "\n" +
|
||||
"your messages: " + info.UserMessageCount + "\n" +
|
||||
"target messages: " + info.TargetMessageCount + "\n" +
|
||||
"your symbols in messages: " + info.UserSymbolsCount + "\n" +
|
||||
"target symbols in messages: " + info.TargetSymbolsCount + "\n-----\n";
|
||||
multiplier += info.MessageMultiplier;
|
||||
}
|
||||
multiplier /= infos.Count;
|
||||
Console.ForegroundColor = ConsoleColor.Green;
|
||||
|
||||
Reference in New Issue
Block a user