namespace TelegramMessageCounter; public static class ArgumentReader { public static DataRequest ReadArguments(string[] args) { string? login = null; string? username = null; if (args.Length > 0 && args.Any(x => x == "--help")) { Console.WriteLine("Usage: TelegramMessageCounter --login (phone number) --user (username) " + "\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"); username = args[userNameArgIndex+1]; } if (args.Any(x => x == "--login" || x == "-L")) { var userNameArgIndex = args.ToList().IndexOf("--login"); if (userNameArgIndex == -1) { userNameArgIndex = args.ToList().IndexOf("-L"); } login = args[userNameArgIndex+1]; } string? path = args.Length > 1 ? args.Last() : null; return new(login, username, (path ?? default)!); } }