feat: Added counter for symbols
This commit is contained in:
parent
1e40bbd735
commit
e9db40dee9
@ -3,7 +3,7 @@
|
|||||||
public static class ArgumentReader
|
public static class ArgumentReader
|
||||||
{
|
{
|
||||||
public static DataRequest ReadArguments(string[] args)
|
public static DataRequest ReadArguments(string[] args)
|
||||||
{
|
{
|
||||||
string? login = null;
|
string? login = null;
|
||||||
string? username = null;
|
string? username = null;
|
||||||
if (args.Length > 0 && args.Any(x => x == "--help"))
|
if (args.Length > 0 && args.Any(x => x == "--help"))
|
||||||
@ -18,9 +18,9 @@ public static class ArgumentReader
|
|||||||
if (args.Any(x => x == "--user"))
|
if (args.Any(x => x == "--user"))
|
||||||
{
|
{
|
||||||
var userNameArgIndex = args.ToList().IndexOf("--user");
|
var userNameArgIndex = args.ToList().IndexOf("--user");
|
||||||
username = args[userNameArgIndex+1];
|
username = args[userNameArgIndex + 1];
|
||||||
}
|
}
|
||||||
|
|
||||||
if (args.Any(x => x == "--login" || x == "-L"))
|
if (args.Any(x => x == "--login" || x == "-L"))
|
||||||
{
|
{
|
||||||
var userNameArgIndex = args.ToList().IndexOf("--login");
|
var userNameArgIndex = args.ToList().IndexOf("--login");
|
||||||
@ -28,11 +28,16 @@ public static class ArgumentReader
|
|||||||
{
|
{
|
||||||
userNameArgIndex = args.ToList().IndexOf("-L");
|
userNameArgIndex = args.ToList().IndexOf("-L");
|
||||||
}
|
}
|
||||||
login = args[userNameArgIndex+1];
|
|
||||||
}
|
|
||||||
string? path = args.Length > 1 ? args.Last() : null;
|
|
||||||
|
|
||||||
return new(login, username, (path ?? default)!);
|
login = args[userNameArgIndex + 1];
|
||||||
|
}
|
||||||
|
|
||||||
|
string?[] argValues = [login, username];
|
||||||
|
string? path = args.Length > 1 && argValues.All(x => x != args.Last()) ? args.Last() : null;
|
||||||
|
|
||||||
|
if (path == null)
|
||||||
|
return new(login, username);
|
||||||
|
|
||||||
|
return new(login, username, path);
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -8,10 +8,13 @@ namespace TelegramMessageCounter
|
|||||||
{
|
{
|
||||||
internal record CounterInfo
|
internal record CounterInfo
|
||||||
(
|
(
|
||||||
float Multiplier,
|
float MessageMultiplier,
|
||||||
int TargetMsg,
|
float SymbolsMultiplier,
|
||||||
int MyMsg,
|
int UserMessageCount,
|
||||||
int FullMsg,
|
int TargetMessageCount,
|
||||||
|
int UserSymbolsCount,
|
||||||
|
int TargetSymbolsCount,
|
||||||
|
int FullMessageCount,
|
||||||
string TargetUsername
|
string TargetUsername
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
50
Program.cs
50
Program.cs
@ -46,11 +46,11 @@ namespace TelegramMessageCounter
|
|||||||
var res = GetInfo(user.id);
|
var res = GetInfo(user.id);
|
||||||
if (res == null)
|
if (res == null)
|
||||||
{
|
{
|
||||||
Console.WriteLine($"User {user.id} not found! Skipping...");
|
Console.WriteLine($"[WARN]User {user.id} failed to analyze! Skipping...");
|
||||||
continue;
|
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);
|
infos.Add(res);
|
||||||
}
|
}
|
||||||
SaveAndAddStats(infos, dataRequest.Path);
|
SaveAndAddStats(infos, dataRequest.Path);
|
||||||
@ -59,8 +59,10 @@ namespace TelegramMessageCounter
|
|||||||
static CounterInfo? GetInfo(long targetId)
|
static CounterInfo? GetInfo(long targetId)
|
||||||
{
|
{
|
||||||
var dialogs = Client.Messages_GetAllDialogs().Result;
|
var dialogs = Client.Messages_GetAllDialogs().Result;
|
||||||
int myCounter = 0;
|
int userMsgCount = 0;
|
||||||
int targetCounter = 0;
|
int userSymbolsCount = 0;
|
||||||
|
int targetMsgCount = 0;
|
||||||
|
int targetSymbolsCount = 0;
|
||||||
User? peer;
|
User? peer;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
@ -71,7 +73,7 @@ namespace TelegramMessageCounter
|
|||||||
|
|
||||||
Console.ForegroundColor = ConsoleColor.Green;
|
Console.ForegroundColor = ConsoleColor.Green;
|
||||||
Console.WriteLine("[DONE]");
|
Console.WriteLine("[DONE]");
|
||||||
Console.WriteLine($"Username is: {(peer)?.username}");
|
Console.WriteLine($"Username is: {peer?.username}");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
@ -82,7 +84,7 @@ namespace TelegramMessageCounter
|
|||||||
}
|
}
|
||||||
|
|
||||||
List<Messages_MessagesBase> messagesList = [];
|
List<Messages_MessagesBase> messagesList = [];
|
||||||
var messageCount = 0;
|
var fullMsgCount = 0;
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var res = Client.Messages_GetHistory((InputPeer)peer).Result;
|
var res = Client.Messages_GetHistory((InputPeer)peer).Result;
|
||||||
@ -102,7 +104,7 @@ namespace TelegramMessageCounter
|
|||||||
// ignored
|
// ignored
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
messageCount =res.Count;
|
fullMsgCount = res.Count;
|
||||||
}
|
}
|
||||||
catch (Exception)
|
catch (Exception)
|
||||||
{
|
{
|
||||||
@ -119,9 +121,14 @@ namespace TelegramMessageCounter
|
|||||||
{
|
{
|
||||||
if (msg.from_id != null)
|
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;
|
Console.ForegroundColor = ConsoleColor.White;
|
||||||
|
|
||||||
return new(
|
return new(
|
||||||
(float)myCounter / targetCounter,
|
(float)userMsgCount / targetMsgCount,
|
||||||
targetCounter,
|
(float)userSymbolsCount / targetSymbolsCount,
|
||||||
myCounter,
|
userMsgCount,
|
||||||
messageCount,
|
targetMsgCount,
|
||||||
|
userSymbolsCount,
|
||||||
|
targetSymbolsCount,
|
||||||
|
fullMsgCount,
|
||||||
string.IsNullOrEmpty(peer?.username ?? "") ? peer?.id.ToString() ?? "unknown" : $"@{peer?.username}");
|
string.IsNullOrEmpty(peer?.username ?? "") ? peer?.id.ToString() ?? "unknown" : $"@{peer?.username}");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -141,17 +151,19 @@ namespace TelegramMessageCounter
|
|||||||
{
|
{
|
||||||
Console.ForegroundColor = ConsoleColor.Yellow;
|
Console.ForegroundColor = ConsoleColor.Yellow;
|
||||||
Console.Write("Saving results...");
|
Console.Write("Saving results...");
|
||||||
File.Create("results.txt");
|
|
||||||
string fileData = "";
|
string fileData = "";
|
||||||
float multiplier = 0;
|
float multiplier = 0;
|
||||||
foreach (CounterInfo info in infos)
|
foreach (CounterInfo info in infos)
|
||||||
{
|
{
|
||||||
fileData += "username: " + info.TargetUsername + "\n" +
|
fileData += "username: " + info.TargetUsername + "\n" +
|
||||||
"multiplier: " + info.Multiplier + "\n" +
|
"message multiplier (You/Target): " + info.MessageMultiplier + "\n" +
|
||||||
"total messages: " + info.FullMsg + "\n" +
|
"symbol multiplier (You/Target): " + info.SymbolsMultiplier + "\n" +
|
||||||
"your messages: " + info.MyMsg + "\n" +
|
"total messages: " + info.FullMessageCount + "\n" +
|
||||||
"target messages: " + info.TargetMsg + "\n-----\n";
|
"your messages: " + info.UserMessageCount + "\n" +
|
||||||
multiplier += info.Multiplier;
|
"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;
|
multiplier /= infos.Count;
|
||||||
Console.ForegroundColor = ConsoleColor.Green;
|
Console.ForegroundColor = ConsoleColor.Green;
|
||||||
|
@ -9,7 +9,7 @@
|
|||||||
Console.WriteLine("/__ \\/\\/\\ / __\\");
|
Console.WriteLine("/__ \\/\\/\\ / __\\");
|
||||||
Console.WriteLine(" / /\\/ \\ / / ");
|
Console.WriteLine(" / /\\/ \\ / / ");
|
||||||
Console.WriteLine(" / / / /\\/\\ \\/ /___ ");
|
Console.WriteLine(" / / / /\\/\\ \\/ /___ ");
|
||||||
Console.WriteLine(" \\/ \\/ \\/\\____/ v1.3 ꞵeta");
|
Console.WriteLine(" \\/ \\/ \\/\\____/ v1.4 ꞵeta");
|
||||||
Console.WriteLine("Telegram Message Counter by Lisoveliy");
|
Console.WriteLine("Telegram Message Counter by Lisoveliy");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user