public void SendingNewSeries(IEnumerable <EpisodeDto> episodes) { foreach (var episode in episodes) { if (_seriesRepository.GetByNameRuSeries(episode.TitleSeries) == default) { var seriesLink = episode.Link.Split("season")[0] + "seasons"; _seriesRepository.Add(new Series { IsCompleted = false, NameEn = episode.TitleSeriesEn, Link = seriesLink, NameRu = episode.TitleSeries, SeasonsCount = episode.NumberSeason }); continue; } var chatIdQueue = MakeQueueChatId(episode.TitleSeries); var countRequests = 0; while (chatIdQueue.Count != 0) { var chatId = chatIdQueue.Dequeue(); countRequests = SendNewEpisode(countRequests, episode, chatId).Result; if (countRequests < 20) { continue; } Thread.Sleep(TimeSpan.FromSeconds(1)); countRequests = 0; } } }