private static List <Player.Alias> Aliases(IHtmlDocument doc) { var platformDiv = doc.QuerySelector("#profile-platforms"); if (platformDiv == null) { return(null); } var platforms = new List <Player.Alias>(); var html = platformDiv.ToHtml(); foreach (var platform in platformDiv.QuerySelectorAll(".masthead-buttons.button-group.js-button-group").Children(":not(.is-active)")) { var newAlias = new Player.Alias(); var platformString = platform.TextContent; var url = platform.GetAttribute("href"); newAlias.UrlName = url.Substring(url.LastIndexOf('/') + 1); newAlias.Username = newAlias.UrlName.Replace('-', '#'); if (string.Equals(platformString, Platform.Pc.ToString(), StringComparison.OrdinalIgnoreCase)) { newAlias.Platform = Platform.Pc; } if (string.Equals(platformString, Platform.Psn.ToString(), StringComparison.OrdinalIgnoreCase)) { newAlias.Platform = Platform.Psn; } if (string.Equals(platformString, Platform.Xbl.ToString(), StringComparison.OrdinalIgnoreCase)) { newAlias.Platform = Platform.Xbl; } platforms.Add(newAlias); } return(platforms); }
public async Task <Player> GetOtherProfileFromAliasAsync(Player.Alias playerAlias) => await GetPlayerAsync(playerAlias.Username, playerAlias.Platform);