public async Task Parse() { var url = "https://rg-dev.ru/api/news/?format=json&type=news"; var content = await Get(url); var news = JsonConvert.DeserializeObject <NewsListResponse>(content); var latestNews = news?.results; Console.WriteLine($"[{DateTime.Now}] Получено {latestNews?.Count} новостей. Самая новая: {latestNews?.FirstOrDefault()?.id}."); foreach (var post in latestNews ?? new List <News>()) { if (_config.ConfigValues.Contains(post.id)) { continue; } try { var text = $"{post.title}:\r\nhttps://rg-dev.ru/press/news/all/{post.id}/"; Console.WriteLine(text); _bot.SendMessage(text); _config.ConfigValues.Add(post.id); _config.Save(); } catch (Exception ex) { Console.WriteLine(ex); } } }
public void Parse() { var content = Get(20); var root = JsonConvert.DeserializeObject <Root>(content); var absrealtyNews = root.data.allPosts.edges.Select(e => e.node).OrderByDescending(e => e.date).ToArray(); Console.WriteLine($"[{DateTime.Now}] Получено {absrealtyNews.Length} новостей(absrealty). Самая новая: {absrealtyNews.FirstOrDefault()?.title}."); var ukkcNews = GetUKKCNews(); Console.WriteLine($"[{DateTime.Now}] Получено {ukkcNews.Length} новостей(ukkc). Самая новая: {ukkcNews.FirstOrDefault()?.title}."); var latestNews = absrealtyNews.Concat(ukkcNews).ToArray(); foreach (var post in latestNews) { if (_config.ConfigValues.Contains(post.id)) { continue; } try { var text = post.GetText(); Console.WriteLine(text); _bot.SendMessage(text); _config.ConfigValues.Add(post.id); _config.Save(); } catch (Exception ex) { Console.WriteLine(ex); } } }