public static string Rename(string oldName, string newName) { UrlQuery query = new UrlQuery(Url.For(Constant.TAG_RENAME)); query.Add("old", oldName); query.Add("new", newName); return query.ToString(); }
public static string Rename(string oldName, string newName) { UrlQuery query = new UrlQuery(Url.For(Constant.TAG_RENAME)); query.Add("old", oldName); query.Add("new", newName); return(query.ToString()); }
public async Task <bool> UpdateShopThread(int threadId, Player player, string content) { string editThreadPage = await GetEditThreadPage(threadId, player.SessionId); if (editThreadPage == null) { return(false); } string csrfToken = Utils.GetCsrfToken(editThreadPage, "hash"); if (string.IsNullOrEmpty(csrfToken)) { return(false); } string title = Utils.FindTextBetween(editThreadPage, "<input type=\"text\" name=\"title\" id=\"title\" onkeypress=\"return event.keyCode!=13\" value=\"", "\">"); UrlQuery data = new UrlQuery(); data.Add("hash", csrfToken); data.Add("title", title); data.Add("content", content); data.Add("submit", "Submit"); var uri = new Uri(Url_MainPoEPage); var cookieContainer = new CookieContainer(); using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer }) using (var client = new HttpClient(handler) { BaseAddress = uri }) { cookieContainer.Add(uri, new Cookie(PoESessionIdCookieName, player.SessionId)); var baseUrl = BaseUrlTemplate_EditThread.Replace("$threadId$", threadId.ToString()); try { var response = await client.PostAsync(baseUrl, new StringContent(data.Build(), Encoding.UTF8, "application/x-www-form-urlencoded")); if (response.IsSuccessStatusCode) { if (await NotifyPoETrade(threadId, player.SessionId)) { return(true); } } } catch (HttpRequestException e) { MessageController.Instance().Log($"[Error][API] Error while updating shop thread {threadId}: {e.Message}"); return(false); } } return(false); }
public async Task <int> GenerateShopThread(string league, Player player) { string html = await GetForumPage(); string forumId = GetForumId(html, league); if (!string.IsNullOrEmpty(forumId)) { var newThreadPage = await GetNewThreadPage(forumId, player.SessionId); string csrfToken = Utils.GetCsrfToken(newThreadPage, "hash"); UrlQuery data = new UrlQuery(); data.Add("hash", csrfToken); data.Add("title", $"{player.AccountName}'s {league} Shop"); data.Add("content", "reserved"); data.Add("submit", "Submit"); var uri = new Uri(Url_MainPoEPage); var cookieContainer = new CookieContainer(); using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer }) using (var client = new HttpClient(handler) { BaseAddress = uri }) { cookieContainer.Add(uri, new Cookie(PoESessionIdCookieName, player.SessionId)); var baseUrl = BaseUrlTemplate_NewThread.Replace("$forumId$", forumId); try { var response = await client.PostAsync(baseUrl, new StringContent(data.Build(), Encoding.UTF8, "application/x-www-form-urlencoded")); if (response.IsSuccessStatusCode) { return(Convert.ToInt32(response.RequestMessage.RequestUri.Segments.Last())); } MessageController.Instance().Log($"[Error][API] Error while generating a new forum thread: HTTP{response.StatusCode} {response.ReasonPhrase}"); } catch (HttpRequestException e) { MessageController.Instance().Log($"[Error][API] Error while generating a new forum thread: {e.Message}"); return(-1); } } } return(-1); }
public static string Suggest(string url) { UrlQuery query = new UrlQuery(Url.For(Constant.POST_SUGGEST)); query.Add("url", url); return(query.ToString()); }
public static string Delete(string name) { UrlQuery query = new UrlQuery(Url.For(Constant.TAG_DELETE)); query.Add("tag", name); return(query.ToString()); }
public static string Dates(string tag = "") { UrlQuery query = new UrlQuery(Url.For(Constant.POST_DATE)); query.Add("tag", tag); return(query.ToString()); }
public static string All(string name = "") { UrlQuery query = new UrlQuery(Url.For(Constant.BUNDLE_ALL)); query.Add("name", name); return(query.ToString()); }
public static async Task <IList <MatchResponse.Match> > GetMessagedMatches(this TinderClient client, UrlQuery query) { query.Add("message", "1"); var url = CurrentMatchesEndpoint + query.Generate(); var response = await new RestClient(url, client.XAuthToken).Get <MatchesWrapper>(); return(response.Matches); }
public async Task <List <Item> > GetItems(int tabIndex, string league, Player player) { if (Settings.Data().Get <bool>("Debug")) { MessageController.Instance().Log($"[Debug][API] Retrieving items of tab #{tabIndex} of {league} league..."); } var uri = new Uri(Url_MainPoEPage); var cookieContainer = new CookieContainer(); using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer }) using (var client = new HttpClient(handler) { BaseAddress = uri }) { cookieContainer.Add(uri, new Cookie(PoESessionIdCookieName, player.SessionId)); UrlQuery query = new UrlQuery(); query.Add("league", league); query.Add("tabs", "0"); query.Add("tabIndex", tabIndex.ToString()); query.Add("accountName", player.AccountName); try { var data = await client.GetStringAsync(BaseUrl_StashItems + query.Build(true)); var parsedData = JsonConvert.DeserializeObject <Dictionary <string, object> >(data); var itemsStr = parsedData["items"].ToString(); var parsedItems = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(itemsStr); List <Item> items = ParseItems(parsedItems); return(items); } catch (HttpRequestException e) { MessageController.Instance().Log($"[Error][API] Error while retrieving items of tab #{tabIndex} of {league} league: {e.Message}"); return(null); } } }
public static string Add(string url, string description, string extended = "", string tags = "", DateTime? date = null, bool shared = false, bool replace = false) { UrlQuery query = new UrlQuery(Url.For(Constant.POST_ADD)); query.Add("url", url); query.Add("decription", description); query.Add("extended", extended); query.Add("tags", tags); query.Add("dt", date.Value.ToLongDateString()); query.Add("shared", shared.ToString()); query.Add("replace", replace.ToString()); return query.ToString(); }
public static string Add(string url, string description, string extended = "", string tags = "", DateTime?date = null, bool shared = false, bool replace = false) { UrlQuery query = new UrlQuery(Url.For(Constant.POST_ADD)); query.Add("url", url); query.Add("decription", description); query.Add("extended", extended); query.Add("tags", tags); query.Add("dt", date.Value.ToLongDateString()); query.Add("shared", shared.ToString()); query.Add("replace", replace.ToString()); return(query.ToString()); }
public async Task <List <StashTab> > GetStashTabs(string league, Player player) { if (Settings.Data().Get <bool>("Debug")) { MessageController.Instance().Log($"[Debug][API] Retrieving stash tabs for league {league}..."); } List <StashTab> stashTabs = new List <StashTab>(); var uri = new Uri(Url_MainPoEPage); var cookieContainer = new CookieContainer(); using (var handler = new HttpClientHandler() { CookieContainer = cookieContainer }) using (var client = new HttpClient(handler) { BaseAddress = uri }) { cookieContainer.Add(uri, new Cookie(PoESessionIdCookieName, player.SessionId)); UrlQuery query = new UrlQuery(); query.Add("league", league); query.Add("tabs", "1"); query.Add("tabIndex", "0"); query.Add("accountName", player.AccountName); try { var data = await client.GetStringAsync(BaseUrl_StashItems + query.Build(true)); var parsedData = JsonConvert.DeserializeObject <Dictionary <string, object> >(data); var tabsStr = parsedData["tabs"].ToString(); var parsedTabs = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(tabsStr); stashTabs = parsedTabs.Select(t => new StashTab(t, league)).ToList(); var itemsStr = parsedData["items"].ToString(); var parsedItems = JsonConvert.DeserializeObject <List <Dictionary <string, object> > >(itemsStr); List <Item> items = ParseItems(parsedItems); stashTabs.Find(t => t.Index == 0).Items = items; } catch (HttpRequestException e) { MessageController.Instance().Log($"[Error][API] Error while retrieving stash tabs for league {league}: {e.Message}"); return(null); } } foreach (var tab in stashTabs) { if (tab.Index > 0) { var items = await GetItems(tab.Index, league, player); if (items != null) { tab.Items = items; } else { MessageController.Instance().Log($"[Warn][API] Getting items for tab #{tab.Index} failed."); } } } return(stashTabs); }
public static string Suggest(string url) { UrlQuery query = new UrlQuery(Url.For(Constant.POST_SUGGEST)); query.Add("url", url); return query.ToString(); }
public static string All(string name = "") { UrlQuery query = new UrlQuery(Url.For(Constant.BUNDLE_ALL)); query.Add("name", name); return query.ToString(); }
public static string Delete(string name) { UrlQuery query = new UrlQuery(Url.For(Constant.TAG_DELETE)); query.Add("tag", name); return query.ToString(); }
public static string Dates(string tag = "") { UrlQuery query = new UrlQuery(Url.For(Constant.POST_DATE)); query.Add("tag", tag); return query.ToString(); }