private static async Task Main() { var ps = Process.GetCurrentProcess(); ps.PriorityClass = ProcessPriorityClass.RealTime; ServiceInjector.ConfigureServices(); InjectServices(); FillConfigurations(); Console.Clear(); Console.WriteLine("Get user ids..."); var blackListedUserIds = _userService.GetBannedIds().Distinct().ToList(); var filteredUsers = await _likeClickerService.GetUserIdsByStrategyAsync(_strategy, _groupNames, new AgeRange(_minAge, _maxAge), _cityIds, MinDateForPosts, blackListedUserIds); using (var api = _apiFactory.CreateVkApi()) { var counter = 0; var count = filteredUsers.Count - 1; do { if (!filteredUsers.Any()) { break; } var user = filteredUsers[counter]; var wait = (counter % 2 > 0) ? 3 : 4; if (user.Age % 2 > 0) { wait = (counter % 2 > 0) ? 2 : new Random().Next(1, 5); } try { var profilePhotos = _photoService.GetProfilePhotos(user.Id); var skip = SkipRecentlyLiked(profilePhotos); var result = false; if (!skip) { result = LikeProfilePhotos(profilePhotos, api, user); } counter++; var message = $"vk.com/{user.Domain} - {(result ? "liked" : "passed")}.{Environment.NewLine}Last activity date: {user.LastActivityDate}, age: {user.Age}, has child: {user.HasChildrens.ToString().ToLower()}.{Environment.NewLine}Time {DateTime.Now}. {counter} out of {count}"; Console.WriteLine(message); if (result) { api.Account.SetOffline(); System.Threading.Thread.Sleep(TimeSpan.FromMinutes(wait)); } } catch (Exception e) { Console.WriteLine("Exception:" + e.Message); System.Threading.Thread.Sleep(TimeSpan.FromMinutes(5)); } } while (counter < count); } Console.ReadLine(); }