Exemplo n.º 1
0
        /// <summary>
        /// Получает данные задания
        /// </summary>
        /// <param name="link">ссылка на задание без домена</param>
        /// <returns>Задание</returns>
        public Objects.Task GetTaskFromLink(string link)
        {
            Log.ProcessMessage("Пытаемся получить задание " + link);
            try
            {
                if (link.Contains("vacancies"))
                {
                    return(null);
                }
                string     get    = http.GetAsync(Domain + link).Result.Content.ReadAsStringAsync().Result;
                HtmlParser Parser = new HtmlParser();
                AngleSharp.Html.Dom.IHtmlDocument html = Parser.ParseDocument(get);


                var task = new Objects.Task
                {
                    Title        = html.QuerySelector(".col h1").TextContent,
                    Discription  = html.QuerySelector(".text_field p").TextContent,
                    Price        = html.QuerySelector(".page_header_content .title.amount") != null?html.QuerySelector(".page_header_content .title.amount").TextContent : "Бюджет не определен",
                    TimeStamp    = double.Parse(html.QuerySelector(".cols_table.no_hover .text-muted  span[data-timestamp]").GetAttribute("data-timestamp")),
                    Applications = html.QuerySelector(".block-content .title").TextContent,
                    Link         = Domain + link
                };
                Log.GoodMessage("Получили задание " + link);
                return(task);
            }
            catch
            {
                Log.ExMessage("Не удалось получить задание " + link);
                return(null);
            }
        }
Exemplo n.º 2
0
        private static void ListenerTaskSend(WebLancer.Objects.Task task)
        {
            string text     = $"📝 <b>{task.Title}</b> 📝\n\n{task.Discription}\n\n💰 {task.Price}\n\n👩‍💻 <i>{task.Applications}</i> 👨‍💻";
            var    keyboard = new Telegram.Bot.Types.ReplyMarkups.InlineKeyboardMarkup(Telegram.Bot.Types.ReplyMarkups.InlineKeyboardButton.WithUrl("Открыть проект в браузере", task.Link));

            bot.SendMessage(text, keyboard);

            Log.GoodMessage(text);
        }