/// <summary> /// Gets guild members /// </summary> /// <param name="sender"> </param> /// <param name="e"> </param> private async void GetMembersButtonClick(object sender, RoutedEventArgs e) { var client = new WowClient((Region)RegionCombo.SelectedValue); var guild = await client.GetGuildAsync(RealmNameText.Text, GuildNameText.Text, GuildFields.Members); GuildMembersGrid.ItemsSource = guild.Members.Select(member => member.Character); }
//requires new guild to test against [TestMethod] public async Task Test_GetCharacter_FromGuildMembers() { var client = new WowClient(Region.EU, Locale.en_GB, TestConstants.ApiKey); //realm in getGuildAsync does not work (404 not found), why? setting realm in apiclient constructor works. var guild = await client.GetGuildAsync("method", GuildOptions.Members, "Twisting Nether"); Assert.IsNotNull(guild); Stopwatch s1 = new Stopwatch(); s1.Start(); int iteration = 0; var charc = await client.GetCharactersInGuildAsync(guild.Members, CharacterOptions.AllOptions, 100, 60); foreach (var c in charc) { iteration++; Console.WriteLine("Iteration Nr: " + iteration + " ------------------------------"); Console.WriteLine("Name: " + c.Name + "\nAchivement points: " + c.AchievementPoints + "\nLevel: " + c.Level); Console.WriteLine("----------------------------------------------"); } Console.WriteLine("Asynchronous time: " + s1.Elapsed.TotalSeconds + " sec"); s1.Stop(); }
public void TestGuild() { var client = new WowClient(TestConstants.TestRegionName, TestConstants.Credentials, null, null); var guild = client.GetGuildAsync(TestConstants.TestRealmName, TestConstants.TestGuildName, GuildFields.All).Result; Assert.IsNotNull(guild); Assert.IsNotNull(guild.Members); Assert.IsNotNull(guild.Achievements); Assert.IsTrue(guild.Members.Count > 0); Assert.IsTrue(guild.Members.Any(m => m.Rank > 0)); Assert.IsTrue(string.Equals(guild.Members[0].Character.Realm, TestConstants.TestRealmName, StringComparison.OrdinalIgnoreCase)); Assert.IsTrue(string.Equals(guild.Name, TestConstants.TestGuildName, StringComparison.OrdinalIgnoreCase)); Assert.IsNotNull(guild.ToString()); Assert.IsNotNull(guild.Faction); Assert.IsNotNull(guild.Members[0].ToString()); Assert.IsTrue(guild.AchievementPoints > 0); Assert.IsNotNull(guild.BattleGroupName); Assert.IsNotNull(guild.Emblem); Assert.IsNotNull(guild.Emblem.BackgroundColor); Assert.IsNotNull(guild.Emblem.BorderColor); Assert.IsNotNull(guild.Emblem.IconColor); Assert.IsTrue(guild.Emblem.Icon > 0); Assert.IsTrue(guild.Emblem.Border >= 0); Assert.IsTrue(guild.Level >= 25); Assert.AreEqual(TestConstants.TestRealmName, guild.Realm); Assert.IsNotNull(guild.News); Assert.IsTrue(guild.News.All(n => n != null)); Assert.IsTrue(guild.News.All(n => n.Achievement != null || (n.GuildNewsItemType != GuildNewsItemType.PlayerAchievement && n.GuildNewsItemType != GuildNewsItemType.GuildAchievement))); Assert.IsTrue(guild.News.All(n => n.ItemId > 0 || (n.GuildNewsItemType == GuildNewsItemType.PlayerAchievement || n.GuildNewsItemType == GuildNewsItemType.GuildAchievement))); Assert.IsNotNull(guild.Challenges); Assert.AreNotEqual(0, guild.Challenges.Count); }
/// <summary> /// Gets accessing WOW API Asynchronously /// </summary> /// <returns></returns> private async static Task TestWowClientAsync() { string privateKey = ConfigurationManager.AppSettings["PrivateKey"]; string publicKey = ConfigurationManager.AppSettings["PublicKey"]; var pair = new ApiKeyPair(publicKey, privateKey); // Init client var client = new WowClient(Region.EU, pair, "en-gb", null); // Character var character = await client.GetCharacterAsync("kazzak", "Grendiser", CharacterFields.All); // Refresh character info await character.RefreshAsync(client); // Gee pet types var petTypes = await client.GetBattlePetTypesAsync(); // Get challenge leaders var kazzakChallengeLeaders = await client.GetChallengeLeadersAsync("kazzak"); var euChallengeLeaders = await client.GetChallengeLeadersAsync(null); // Get battle groups var bgs = await client.GetBattleGroupsAsync(); // Get rewards var rewards = await client.GetGuildRewardsAsync(); // Get perks var perks = await client.GetGuildPerksAsync(); // Get realms var realms = await client.GetRealmStatusAsync(); // Get classes var classes = await client.GetClassesAsync(); // Get item categories var itemCategories = await client.GetItemCategoryNamesAsync(); // Get races var races = await client.GetRacesAsync(); // Get character achievements var characterAchievements = await client.GetCharacterAchievementsAsync(); // Get guild achievements var guildAchievements = await client.GetGuildAchievementsAsync(); // Get quest var quest = await client.GetQuestAsync(23); // Get talents var talents = await client.GetTalentsAsync(); // Get PVP information var topArenaPlayers = await client.GetPvpLeaderboardAsync(PvpBracket.Arena5v5); var topBgPlayers = await client.GetPvpLeaderboardAsync(PvpBracket.RatedBattleground); // Get item set var itemSet = await client.GetItemSetAsync(1058); // Get ability var ability = await client.GetBattlePetAbilityAsync(640); var petSpecies = await client.GetBattlePetSpeciesAsync(258); // Get guild var guild = await client.GetGuildAsync(character.Realm, character.Guild.Name, GuildFields.All); // Get items var itemsTasks = character.Items.AllItems.Select( equippedItem => client.GetItemAsync(equippedItem.ItemId)).ToArray(); var allItemsTask = new Task <WOWSharp.Community.Wow.Item[]>(() => { Task.WaitAll(itemsTasks); return(itemsTasks.Select(t => t.Result).ToArray()); }); allItemsTask.Start(); var items = await allItemsTask; var gems = character.Items.AllItems.Where(ei => ei.Parameters != null) .SelectMany(ei => new[] { ei.Parameters.Gem0, ei.Parameters.Gem1, ei.Parameters.Gem2, ei.Parameters.Gem3 }) .Where(gemid => gemid != null) .Distinct(); // Get AH dump var auctions = await client.GetAuctionDumpAsync(character.Realm); }
/// <summary> /// Test accessing wow client synchronously /// </summary> public static void TestWowClient() { // Init client WowClient client = new WowClient(Region.EU); // Get character data var character = client.GetCharacterAsync("Khaz Modan", "Xenøphik", CharacterFields.All).Result; Console.WriteLine(character.ToString()); character.Stats.pv var progress = character.Progression.Raids; foreach (CharacterInstanceProgression c in progress) { Console.WriteLine(c.ToString()); } // Get realm challenge leaders var HyjalChallengeLeaders = client.GetChallengeLeadersAsync("Hyjal").Result; Console.WriteLine(HyjalChallengeLeaders.ToString()); // Get EU challenge leader var euChallengeLeaders = client.GetChallengeLeadersAsync(null).Result; Console.WriteLine(euChallengeLeaders.ToString()); // Get battle groups var bgs = client.GetBattleGroupsAsync().Result; // Get guild rewards var rewards = client.GetGuildRewardsAsync().Result; // Get guild perks var perks = client.GetGuildPerksAsync().Result; // Get realms var realms = client.GetRealmStatusAsync().Result; Console.WriteLine(realms.ToString()); // Get classes var classes = client.GetClassesAsync().Result; // Get item categories var itemCategories = client.GetItemCategoryNamesAsync().Result; // Get races var races = client.GetRacesAsync().Result; // Get character achievements var characterAchievements = client.GetCharacterAchievementsAsync().Result; // get guild achievements var guildAchievements = client.GetGuildAchievementsAsync().Result; // Get quest var quest = client.GetQuestAsync(23).Result; // Get PVP information var topArenaPlayers = client.GetPvpLeaderboardAsync(PvpBracket.Arena5v5).Result; var topBgPlayers = client.GetPvpLeaderboardAsync(PvpBracket.RatedBattleground).Result; // Get battle pet info var ability = client.GetBattlePetAbilityAsync(640).Result; var petSpecies = client.GetBattlePetSpeciesAsync(258).Result; // Get guild var guild = client.GetGuildAsync(character.Realm, character.Guild.Name, GuildFields.All).Result; Console.WriteLine(guild.ToString()); // Get items var itemsTasks = character.Items.AllItems.Select( equippedItem => client.GetItemAsync(equippedItem.ItemId)).ToArray(); var items = character.Items.AllItems.Select(equipped => client.GetItemAsync(equipped.ItemId).Result).ToArray(); var gems = character.Items.AllItems.Where(ei => ei.Parameters != null) .SelectMany(ei => new[] { ei.Parameters.Gem0, ei.Parameters.Gem1, ei.Parameters.Gem2, ei.Parameters.Gem3 }) .Where(gemid => gemid != null) .Distinct(); Console.WriteLine(items.ToString()); // Get AH dump var auctions = client.GetAuctionDumpAsync(character.Realm).Result; }