private async Task <string> GetRawDataQuotesFromServer(Symbol symbol, int marketId, int em, DateTime dateFrom, DateTime dateTo, FinamDataPeriod period) { string url = PrepareGetQuotesRequest(symbol.Code, marketId, em, period, dateFrom, dateTo); string rawDataQuotes = await RequestsHelper.SendGetRequest(url); logger.Debug("Response from Finam is:\n" + rawDataQuotes); await Task.Delay(5000); return(rawDataQuotes); }
protected override GetFriendsResponseModel ExecuteEngine(GetRecommendedFriendsModel model) { var stringResponse = RequestsHelper.Get(Urls.GetRecommendedFriends.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent); var friendsCount = GetCountFriends(stringResponse); var friendsList = GetFriendsData(stringResponse); friendsList.CountIncommingFriends = friendsCount; return(friendsList); }
public async Task <ObservableCollection <Character> > GetCharactersAsync() { try { var response = await RequestsHelper <ObservableCollection <Character> > . Requests("api/characters", RequestsHelper <ObservableCollection <Character> > .MethodsRequest.GET); return(response); } catch (Exception ex) { Debug.WriteLine($"Exception => GetCharactersAsync() {ex.Message}"); } return(null); }
public static async Task <HashSet <Dividend> > GetDividendsByCode(string code) { var divs = new HashSet <Dividend>(); if (string.IsNullOrEmpty(code)) { throw new ApplicationException("Symbol name can't be empty"); } var divsFileName = $"Div_{code}"; logger.Info($"Get Dividends for {code}"); string response; if (FilesHelper.IsFileExists(divsFileName)) { response = FilesHelper.ReadFromFile(divsFileName); } else { response = await RequestsHelper.SendGetRequest($"{baseUrl}/{code.ToLower()}"); FilesHelper.SaveToFile(divsFileName, response); } var doc = new HtmlDocument(); doc.LoadHtml(response); HtmlNode htmlDivsTable = doc.GetElementbyId("leftside-col").SelectNodes("table[tr/th//text()[contains(., 'Дата закрытия реестра')]]")[0]; HtmlNodeCollection htmlDivs = htmlDivsTable.SelectNodes("tr"); foreach (HtmlNode htmlDiv in htmlDivs) { var cells = htmlDiv.SelectNodes("td"); if (cells != null && cells.Count > 0) { if (cells[0].InnerText.Contains("прогноз")) { continue; } var date = DateTime.ParseExact(cells[0].InnerText.Trim(), formatDate, CultureInfo.InvariantCulture); var amount = decimal.Parse(cells[2].InnerText.Trim(), CultureInfo.InvariantCulture); var dividend = new Dividend(date, amount); divs.Add(dividend); } } return(divs); }
private string BuildByTagQuery(int page) { var query = new Dictionary <string, string> { { "method", AdditionalData.Info.Flickr.MethodSearch.Value }, { "api_key", _secrets.FlickrKey }, { "sort", "date-posted-asc" }, { "text", AdditionalData.Info.Flickr.Tag.Value }, { "page", (page + 1).ToString() }, { "format", "json" }, { "nojsoncallback", "1" } }; return(RequestsHelper.BuildQuery(_flickrUrl, query)); }
private string BuildByPhotosetQuery(int page) { var query = new Dictionary <string, string> { { "method", AdditionalData.Info.Flickr.MethodPhotosets.Value }, { "api_key", _secrets.FlickrKey }, { "photoset_id", AdditionalData.Info.Flickr.Photoset.Value }, { "user_id", AdditionalData.Info.Flickr.User.Value }, { "page", (page + 1).ToString() }, { "format", "json" }, { "nojsoncallback", "1" } }; return(RequestsHelper.BuildQuery(_flickrUrl, query)); }
protected override bool ExecuteEngine(CheckFriendGenderModel model) { var contactStringResponse = RequestsHelper.Get("https://www.facebook.com/profile.php?id=" + model.FriendFacebookId + "&sk=about" + "&lst=" + model.AccountFacebookId + "%3A" + model.FriendFacebookId + "%3A" + GenerateValue() + "§ion=contact-info&pnref=about" , model.Cookie, model.Proxy, model.UserAgent); var gender = GetGender(contactStringResponse); return(gender == model.Gender); }
protected override GetFriendsResponseModel ExecuteEngine(GetFriendsModel model) { if (model.UrlParameters == null) { return(null); } var parametersDictionary = model.UrlParameters.ToDictionary(pair => (GetFriendsEnum)pair.Key, pair => pair.Value); parametersDictionary[GetFriendsEnum.Id] = model.AccountId.ToString("G"); var parameters = CreateParametersString(parametersDictionary); var stringResponse = RequestsHelper.Get(Urls.GetFriends.GetDiscription() + parameters, model.Cookie, model.Proxy, model.UserAgent).Remove(0, 9); return(GetFriendsData(stringResponse)); }
protected override bool ExecuteEngine(BotPageIsWorkModel model) { try { var resultUrl = string.Format("https://www.facebook.com/profile.php?id={0}", model.FriendFacebookId); var page = RequestsHelper.Get(resultUrl, model.Cookie, model.Proxy, model.UserAgent); var utf8Page = ConvertToUTF8(page); var result = CheckPage(utf8Page); return(result); } catch (Exception) { return(false); } }
protected override GetFriendsResponseModel ExecuteEngine(GetFriendsByCriteriesModel model) { if (model.UrlParameters == null) { return null; } var fbDtsg = ParseResponsePageHelper.GetInputValueById(RequestsHelper.Get(Urls.HomePage.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent), "fb_dtsg"); var parametersDictionary = model.UrlParameters.ToDictionary(pair => (GetFriendsByCriteriesEnum)pair.Key, pair => pair.Value); parametersDictionary[GetFriendsByCriteriesEnum.User] = model.AccountId.ToString("G"); parametersDictionary[GetFriendsByCriteriesEnum.FbDtsg] = fbDtsg; parametersDictionary[GetFriendsByCriteriesEnum.HomeTownIdsZero] = "115085015172389"; var parameters = CreateParametersString(parametersDictionary); var stringResponse = RequestsHelper.Post(Urls.GetFriendsByCriteries.GetDiscription(), parameters, model.Cookie, model.Proxy, model.UserAgent).Remove(0, 9); return GetFriendsData(stringResponse); }
protected override VoidModel ExecuteEngine(ChangeMessageStatusModel model) { if (model.UrlParameters == null) { return(null); } var fbDtsg = ParseResponsePageHelper.GetInputValueById(RequestsHelper.Get(Urls.HomePage.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent), "fb_dtsg"); var parametersDictionary = model.UrlParameters.ToDictionary(pair => (ChangeStatusForMesagesEnum)pair.Key, pair => pair.Value); parametersDictionary[ChangeStatusForMesagesEnum.Ids] = model.FriendFacebookId.ToString("G") + "]=true"; parametersDictionary[ChangeStatusForMesagesEnum.User] = model.AccountId.ToString(CultureInfo.InvariantCulture); parametersDictionary[ChangeStatusForMesagesEnum.FbDtsg] = fbDtsg; parametersDictionary[ChangeStatusForMesagesEnum.Ttstamp] = "2658169757012152707310256495865817278110491018710365111116"; var parameters = CreateParametersString(parametersDictionary); RequestsHelper.Post(Urls.ChangeReadStatus.GetDiscription(), parameters, model.Cookie, model.Proxy, model.UserAgent).Remove(0, 9); return(new VoidModel()); }
protected override bool ExecuteEngine(SendMessageModel model) { try { if (model.UrlParameters == null) { return(false); } var messageId = GenerateMessageId(); var fbDtsg = ParseResponsePageHelper.GetInputValueById( RequestsHelper.Get(Urls.HomePage.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent), "fb_dtsg"); var parametersDictionary = model.UrlParameters.ToDictionary(pair => (SendMessageEnum)pair.Key, pair => pair.Value); parametersDictionary[SendMessageEnum.Body] = model.Message; parametersDictionary[SendMessageEnum.MessageId] = messageId; parametersDictionary[SendMessageEnum.OfflineThreadingId] = messageId; parametersDictionary[SendMessageEnum.OtherUserFbid] = model.FriendId.ToString("G"); parametersDictionary[SendMessageEnum.SpecificToListOne] = model.FriendId.ToString("G"); parametersDictionary[SendMessageEnum.SpecificToListTwo] = model.AccountId.ToString(); parametersDictionary[SendMessageEnum.UserId] = model.AccountId.ToString(); parametersDictionary[SendMessageEnum.Timestamp] = DateTime.Now.Ticks.ToString(); parametersDictionary[SendMessageEnum.FbDtsg] = fbDtsg; var parameters = CreateParametersString(parametersDictionary); RequestsHelper.Post(Urls.SendMessage.GetDiscription(), parameters, model.Cookie, model.Proxy, model.UserAgent); return(true); } catch (Exception) { return(false); } }
public static int GetFriendsCount(string pageRequest, GetNewWinksModel model, string userAgent) { var newPokes = new Regex("<div id=\"poke_live_new\">(.*?)class=\"_4-u2 _xct _4-u8\">"); if (!newPokes.IsMatch(pageRequest)) { newPokes = new Regex("<div id=\"poke_live_new\">(.*?)bottomContent"); if (!newPokes.IsMatch(pageRequest)) { return(0); } } var blockPokes = newPokes.Match(pageRequest).ToString(); var regex = new Regex("<a class=\"_42ft _4jy0 _4jy3 _4jy1 selected _51sy\" role=\"button\" href=\"#\" ajaxify=\"[^\"]*"); if (!regex.IsMatch(pageRequest)) { return(0); } var collection = regex.Matches(blockPokes); foreach (var links in collection) { var link = links != null?links.ToString().Remove(0, 88) : ""; const string substr = "amp;"; link = link.Replace(substr, ""); var fullLink = Urls.GetNewWinks.GetDiscription() + link; RequestsHelper.Get(fullLink, model.Cookie, model.Proxy, userAgent); Thread.Sleep(TimeSpan.FromSeconds(2)); } return(collection.Count); }
protected override List <GetMessagesResponseModel> ExecuteEngine(GetMessagesModel model) { var messagesList = new List <GetMessagesResponseModel>(); if (model.UrlParameters == null) { return(null); } var fbDtsg = ParseResponsePageHelper.GetInputValueById(RequestsHelper.Get(Urls.HomePage.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent), "fb_dtsg"); var parametersDictionary = model.UrlParameters.ToDictionary(pair => (GetMessagesEnum)pair.Key, pair => pair.Value); parametersDictionary[GetMessagesEnum.User] = model.AccountId.ToString(); parametersDictionary[GetMessagesEnum.FbDtsg] = fbDtsg; var parameters = CreateParametersString(parametersDictionary); var stringResponse = RequestsHelper.Post(Urls.NewMessages.GetDiscription(), parameters, model.Cookie, model.Proxy, model.UserAgent).Remove(0, 9); var data = (JObject)JsonConvert.DeserializeObject(stringResponse); var threads = data["payload"]["threads"]; foreach (var thread in threads) { messagesList.Add(new GetMessagesResponseModel() { FriendId = thread["thread_fbid"].Value <long>(), CountAllMessages = thread["message_count"].Value <int>(), CountUnreadMessages = thread["unread_count"].Value <int>(), LastMessage = thread["snippet"].Value <string>(), UnreadMessage = thread["unread_count"].Value <int>() != 0 }); } return(messagesList); }
protected override FriendInfoSection ExecuteEngine(GetFriendInfoModel model) { var result = new FriendInfoSection(); //if (model.Settings.LivesPlace != null || model.Settings.SchoolPlace != null || model.Settings.WorkPlace != null) { var stringResponse = RequestsHelper.Get("https://www.facebook.com/profile.php?id=" + model.FriendFacebookId + "&sk=about" + "&lst=" + model.AccountFacebookId + "%3A" + model.FriendFacebookId + "%3A" + GenerateValue() + "§ion=overview&pnref=about" , model.Cookie, model.Proxy, model.UserAgent); result = GetFriendsData(stringResponse); } if (model.Settings.Gender != null) { var contactStringResponse = RequestsHelper.Get("https://www.facebook.com/profile.php?id=" + model.FriendFacebookId + "&sk=about" + "&lst=" + model.AccountFacebookId + "%3A" + model.FriendFacebookId + "%3A" + GenerateValue() + "§ion=contact-info&pnref=about" , model.Cookie, model.Proxy, model.UserAgent); var gender = GetGender(contactStringResponse); result.Gender = gender; } return(result); }
protected override bool ExecuteEngine(SendRequestFriendshipModel model) { try { if (model.AddFriendUrlParameters == null && model.AddFriendExtraUrlParameters == null) { return(false); } var fbDtsg = ParseResponsePageHelper.GetInputValueById(RequestsHelper.Get(Urls.HomePage.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent), "fb_dtsg"); var parametersAddFriendDictionary = model.AddFriendUrlParameters.ToDictionary(pair => (AddFriendEnum)pair.Key, pair => pair.Value); parametersAddFriendDictionary[AddFriendEnum.ToFriend] = model.FriendFacebookId.ToString("G"); parametersAddFriendDictionary[AddFriendEnum.User] = model.AccountFacebookId.ToString(); parametersAddFriendDictionary[AddFriendEnum.FbDtsg] = fbDtsg; var parametersAddFriendExtraDictionary = model.AddFriendExtraUrlParameters.ToDictionary(pair => (AddFriendExtraEnum)pair.Key, pair => pair.Value); parametersAddFriendExtraDictionary[AddFriendExtraEnum.User] = model.AccountFacebookId.ToString(); parametersAddFriendExtraDictionary[AddFriendExtraEnum.FbDtsg] = fbDtsg; var addFriendParameters = CreateParametersString(parametersAddFriendDictionary); var addFriendExtraParameters = CreateParametersString(parametersAddFriendExtraDictionary); RequestsHelper.Post(Urls.AddFriend.GetDiscription(), addFriendParameters, model.Cookie, model.Proxy, model.UserAgent); RequestsHelper.Post(Urls.AddFriendExtra + "?friendid=" + model.FriendFacebookId + "&dpr=1", addFriendExtraParameters, model.Cookie, model.Proxy, model.UserAgent); return(true); } catch (Exception) { return(false); } }
protected override List <FacebookMessageModel> ExecuteEngine(GetMessangerMessagesModel model) { var messagesList = new List <FacebookMessageModel>(); if (model.UrlParameters == null) { return(null); } var fbDtsg = ParseResponsePageHelper.GetInputValueById(RequestsHelper.Get(Urls.HomePage.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent), "fb_dtsg"); var parametersDictionary = model.UrlParameters.ToDictionary(pair => (GetUnreadMessagesEnum)pair.Key, pair => pair.Value); parametersDictionary[GetUnreadMessagesEnum.User] = model.AccountId.ToString(CultureInfo.InvariantCulture); parametersDictionary[GetUnreadMessagesEnum.FbDtsg] = fbDtsg; var parameters = CreateParametersString(parametersDictionary); var stringResponse = RequestsHelper.Post(Urls.NewMessages.GetDiscription(), parameters, model.Cookie, model.Proxy, model.UserAgent).Remove(0, 9); var data = (JObject)JsonConvert.DeserializeObject(stringResponse); var threads = data["payload"]["threads"]; var threads2 = data["payload"]["participants"]; int count = 0; foreach (var thread in threads) { if (count >= model.NumbersOfDialogues) { break; } var countMessages = thread["message_count"].Value <long>(); var countUnreadMessages = thread["unread_count"].Value <long>(); var text = thread["snippet"].Value <string>(); if (countMessages == 1 && countUnreadMessages == 0 && text.Equals(string.Empty)) { var facebookId = thread["thread_fbid"].Value <long>(); JObject friendThread2 = null; foreach (var thread2 in threads2) { if (thread2["fbid"].Value <long>().Equals(facebookId)) { friendThread2 = (JObject)thread2; } } messagesList.Add(new FacebookMessageModel { AccountId = model.AccountId, FriendFacebookId = facebookId, CountAllMessages = thread["message_count"].Value <int>(), CountUnreadMessages = thread["unread_count"].Value <int>(), Gender = friendThread2["gender"].Value <int>() == 1 ? GenderEnum.Female : GenderEnum.Male, Href = friendThread2["href"].Value <string>(), Name = friendThread2["name"].Value <string>(), LastMessage = thread["snippet"].Value <string>(), LastUnreadMessageDateTime = GetDateTime(Convert.ToInt64(thread["last_message_timestamp"].Value <string>())), UnreadMessage = thread["unread_count"].Value <int>() != 0 }); count++; } } return(messagesList); }
protected override int ExecuteEngine(GetFriendsCountModel model) { var countFriends = GetFriendsCount(RequestsHelper.Get(Urls.GetFriends.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent)); return(Convert.ToInt32(countFriends)); }
protected override List <GetRandomFriendResponseModel> ExecuteEngine(GetRandomFriendFriendsModel model) { var driver = model.Driver; var result = new List <GetRandomFriendResponseModel>(); const string path = "/"; const string domain = ".facebook.com"; var cookies = ParseCookieString(model.Cookie); try { foreach (var keyValuePair in cookies) { driver.Manage() .Cookies.AddCookie(new Cookie(keyValuePair.Key, keyValuePair.Value, domain, path, null)); } foreach (var friendModel in model.FriendsIdList) { _random = new Random(); var navigateUrl = string.Format( "https://www.facebook.com/{1}/friends?lst={0}%3A{1}%3A1492106232&sk=friends&source_ref=pb_friends_tl", model.AccountFacebookId, friendModel.FriendFacebookId); driver.Navigate().GoToUrl(navigateUrl); Thread.Sleep(1000); var countFriendsLabel = GetFriendsCount(RequestsHelper.Get(Urls.GetFriends.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent)); var countAllScrolls = Convert.ToInt32(countFriendsLabel) / 20; var countScrolls = _random.Next(1, countAllScrolls); ScrollPage(driver, countScrolls); var friends = GetFriendLinks(driver).ToList(); var randomFriendNumber = _random.Next(0, friends.Count()); var id = friends[randomFriendNumber].GetAttribute("data-profileid"); result.Add(new GetRandomFriendResponseModel { FriendId = friendModel.FriendId, FriendFriendFacebookId = Convert.ToInt64(id) }); } driver.Quit(); } catch (Exception ex) { driver.Quit(); return(null); } return(result); }
public async Task <List <FinamSecurity> > GetSecuritiesList() { const string securitiesFileName = "Finam-securities-list"; logger.Info("Get Finam Securities List"); string response; if (FilesHelper.IsFileExists(securitiesFileName)) { response = FilesHelper.ReadFromFile(securitiesFileName); } else { response = await RequestsHelper.SendGetRequest("https://www.finam.ru/cache/icharts/icharts.js"); FilesHelper.SaveToFile(securitiesFileName, response); } string[] arraySets = response.Split('='); string[] arrayIds = arraySets[1].Split('[')[1].Split(']')[0].Split(','); string names = arraySets[2].Split('[')[1].Split(']')[0]; List <string> arrayNames = new List <string>(); string name = ""; for (int i = 1; i < names.Length; i++) { if ((names[i] == '\'' && i + 1 == names.Length) || (names[i] == '\'' && names[i + 1] == ',' && names[i + 2] == '\'')) { arrayNames.Add(name); name = ""; i += 2; } else { name += names[i]; } } string[] arrayCodes = arraySets[3].Split('[')[1].Split(']')[0].Split(','); string[] arrayMarkets = arraySets[4].Split('[')[1].Split(']')[0].Split(','); string[] arrayDecp = arraySets[5].Split('{')[1].Split('}')[0].Split(','); string[] arrayEmitentChild = arraySets[7].Split('[')[1].Split(']')[0].Split(','); string[] arrayEmitentUrls = arraySets[8].Split('{')[1].Split('}')[0].Split(','); var securitiesList = new List <FinamSecurity>(); for (int i = 0; i < arrayIds.Length; i++) { securitiesList.Add(new FinamSecurity()); securitiesList[i].Code = arrayCodes[i]; securitiesList[i].Decp = arrayDecp[i].Split(':')[1]; securitiesList[i].EmitentChild = arrayEmitentChild[i]; securitiesList[i].Id = arrayIds[i]; securitiesList[i].Name = arrayNames[i]; securitiesList[i].Url = arrayEmitentUrls[i].Split(':')[1]; securitiesList[i].MarketId = arrayMarkets[i]; securitiesList[i].Market = GetMarketNameFromId(int.Parse(securitiesList[i].MarketId)); } return(securitiesList); }
protected override List <FriendsResponseModel> ExecuteEngine(GetCurrentFriendsBySeleniumModel model) { var driver = model.Driver; var friendsList = new List <FriendsResponseModel>(); const string path = "/"; const string domain = ".facebook.com"; var cookies = ParseCookieString(model.Cookie); try { foreach (var keyValuePair in cookies) { driver.Manage() .Cookies.AddCookie(new Cookie(keyValuePair.Key, keyValuePair.Value, domain, path, null)); } driver.Navigate() .GoToUrl(string.Format("https://facebook.com/{0}/friends?lst={0}%3A{0}%3A1492727311", model.AccountFacebookId)); Thread.Sleep(1000); var friends = GetFriendLinks(driver); var countFriendsLabel = GetFriendsCount(RequestsHelper.Get(Urls.GetFriends.GetDiscription(), model.Cookie, model.Proxy, model.UserAgent)); var currentCount = friends.Count; var counter = 0; while (true) { ScrollPage(driver); friends = GetFriendLinks(driver); if (friends.Count > currentCount) { currentCount = friends.Count; } else { var countPercentage = Convert.ToInt32(countFriendsLabel) / 100 * PercentageOfError; if ((Convert.ToInt32(countFriendsLabel) - countPercentage <= currentCount) || counter > 3) { break; } counter++; } } friends = GetFriendLinks(driver); var errorElements = new List <IWebElement>(); foreach (var webElement in friends) { try { var nameElement = webElement.FindElement(By.CssSelector(".fsl.fwb.fcb")); var name = nameElement != null ? nameElement.Text : ""; var idElement = webElement.FindElement(By.CssSelector(".fsl.fwb.fcb>a")); var attr = idElement.GetAttribute("data-gt"); var id = ParseFacebookId(attr); var uri = "https://www.facebook.com/profile.php?id=" + id; var friendModels = new FriendsResponseModel { FacebookId = Convert.ToInt64(id), FriendName = name, Uri = uri }; friendsList.Add(friendModels); } catch (Exception ex) { errorElements.Add(webElement); } } driver.Quit(); } catch (Exception ex) { driver.Quit(); } return(friendsList); }
public override IList <Response> Execute(SenderSettings senderDetail, IMessageDetail args) { ServerSettings serverSettings = senderDetail.ServerSettings; CommandMessageHelper command = new CommandMessageHelper(serverSettings.CommandSymbol, args.Message); string query = command.CommandDetail; // Responds asynchronously. Task.Run(async() => { JContainer json; string message = null; string weapon = Splatoon.SplatoonDefs.TryFindWeapon(query); if (weapon != null) { try { string buildsQuery = $@"query {{ searchForBuilds(weapon: ""{weapon}"") {{ headgear clothing shoes }} }}"; string builtUrl = $"{url}?query={Uri.EscapeUriString(buildsQuery)}"; json = (JContainer)JsonConvert.DeserializeObject(await RequestsHelper.CurlGetCommand(builtUrl, origin).ConfigureAwait(false)); } catch (Exception ex) { json = null; message = ($"{Emojis.NoEntry} {languageHandler.GetPhrase(senderDetail.ServerSettings.Language, "Error_ServerNotFound")}"); Console.WriteLine(ex); } try { dynamic jsonResult = json["data"]["searchForBuilds"]; int count = 0; foreach (var node in jsonResult) { JArray headgear = node["headgear"]; JArray clothing = node["clothing"]; JArray shoes = node["shoes"]; string[] mains = new string[] { headgear[0].ToString(), clothing[0].ToString(), shoes[0].ToString() }; List <string> subs = new List <string>(); subs.AddRange(headgear.Skip <JToken>(1).Values <string>()); subs.AddRange(clothing.Skip <JToken>(1).Values <string>()); subs.AddRange(shoes.Skip <JToken>(1).Values <string>()); var mainsDict = new Dictionary <string, int>(mains.GroupBy(x => x).ToDictionary(x => x.Key, x => x.Count()).OrderByDescending(pair => pair.Value)); var subsDict = new Dictionary <string, int>(subs.GroupBy(x => x).ToDictionary(x => x.Key, x => x.Count()).OrderByDescending(pair => pair.Value)); StringBuilder sb = new StringBuilder(); foreach (var pair in mainsDict) { sb.Append(pair.Value).Append("m"); if (subsDict.ContainsKey(pair.Key)) { sb.Append(pair.Value).Append("s"); subsDict.Remove(pair.Key); } sb.Append(" ").Append(pair.Key).Append(", "); } foreach (var pair in subsDict) { sb.Append(pair.Value).Append("s"); sb.Append(" ").Append(pair.Key).Append(", "); } sb.AppendLine(); message += sb.ToString(); count++; if (count > 6) { break; } } } catch (Exception ex) { message = ($"{Emojis.NoEntry} {languageHandler.GetPhrase(senderDetail.ServerSettings.Language, "Error_Oops")}"); Console.WriteLine(ex); } } else { message = ($"{Emojis.QuestionSymbol} {languageHandler.GetPhrase(senderDetail.ServerSettings.Language, "Error_NoResults")}"); } Response asyncResponse = new Response { ResponseType = ResponseType.Default, Embed = EmbedUtility.ToEmbed(message, null), Message = message }; await asyncResponder.SendResponseAsync(args, asyncResponse); }); // Return out the lifecycle with no response. return(new[] { Response.WaitForAsync }); }
public RequestsIntegrationTest() { requestsHelper = new RequestsHelper(new Mock <ILogger <RequestsHelper> >().Object); requests = new RequestManager(new Mock <ILogger <RequestManager> >().Object, requestsHelper); }