Ejemplo n.º 1
0
        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);
                }
            }
        }
Ejemplo n.º 2
0
        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);
                }
            }
        }