2025-02-11 20:51:33 +03:00
|
|
|
|
namespace TelegramMessageCounter;
|
|
|
|
|
|
|
|
|
|
public static class ArgumentReader
|
|
|
|
|
{
|
|
|
|
|
public static DataRequest ReadArguments(string[] args)
|
2025-02-11 21:13:47 +03:00
|
|
|
|
{
|
2025-02-11 20:51:33 +03:00
|
|
|
|
string? login = null;
|
|
|
|
|
string? username = null;
|
|
|
|
|
if (args.Length > 0 && args.Any(x => x == "--help"))
|
|
|
|
|
{
|
|
|
|
|
Console.WriteLine("Usage: TelegramMessageCounter --login (phone number) --user (username) <path>" +
|
|
|
|
|
"\n login - Phone number of telegram. If argument is empty, waiting for Keyboard interrupt" +
|
|
|
|
|
"\nuser - Username of telegram for individual stats. If argument is empty, analyzing all user history" +
|
|
|
|
|
"\n path - Path to save results file. If argument is empty, path will be \"results.txt\"\n");
|
|
|
|
|
Environment.Exit(0);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (args.Any(x => x == "--user"))
|
|
|
|
|
{
|
|
|
|
|
var userNameArgIndex = args.ToList().IndexOf("--user");
|
2025-02-11 21:13:47 +03:00
|
|
|
|
username = args[userNameArgIndex + 1];
|
2025-02-11 20:51:33 +03:00
|
|
|
|
}
|
2025-02-11 21:13:47 +03:00
|
|
|
|
|
2025-02-11 20:51:33 +03:00
|
|
|
|
if (args.Any(x => x == "--login" || x == "-L"))
|
|
|
|
|
{
|
|
|
|
|
var userNameArgIndex = args.ToList().IndexOf("--login");
|
|
|
|
|
if (userNameArgIndex == -1)
|
|
|
|
|
{
|
|
|
|
|
userNameArgIndex = args.ToList().IndexOf("-L");
|
|
|
|
|
}
|
2025-02-11 21:13:47 +03:00
|
|
|
|
|
|
|
|
|
login = args[userNameArgIndex + 1];
|
2025-02-11 20:51:33 +03:00
|
|
|
|
}
|
|
|
|
|
|
2025-02-11 21:13:47 +03:00
|
|
|
|
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);
|
2025-02-11 20:51:33 +03:00
|
|
|
|
|
2025-02-11 21:13:47 +03:00
|
|
|
|
return new(login, username, path);
|
2025-02-11 20:51:33 +03:00
|
|
|
|
}
|
|
|
|
|
}
|