コード例 #1
0
ファイル: AuctionTests.cs プロジェクト: nmugnier/WowDotNetAPI
        public void Get_EU_Realm_Auction_Data()
        {
            WowExplorer euExplorer = new WowExplorer(Region.EU, Locale.fr_FR, APIKey);

            Auctions auctions = euExplorer.GetAuctions("Twisting Nether");
            Assert.IsTrue(auctions.Horde.Auctions.Count() > 0);
        }
コード例 #2
0
ファイル: AuctionTests.cs プロジェクト: nmugnier/WowDotNetAPI
        public void Get_TW_Realm_Auction_Data()
        {
            WowExplorer twExplorer = new WowExplorer(Region.TW, Locale.zh_TW, APIKey);

            Auctions auctions = twExplorer.GetAuctions("Balnazzar");
            Assert.IsTrue(auctions.Horde.Auctions.Count() > 0);
        }
コード例 #3
0
ファイル: MainActivity.cs プロジェクト: undeadzant/guildCraft
        //int count = 1;


        protected override void OnCreate(Bundle savedInstanceState)
        {
            base.OnCreate(savedInstanceState);

            // Set our view from the "main" layout resource
            SetContentView(Resource.Layout.Main);

            // connect to the Mashery API
            WowExplorer explorer = new WowExplorer(Region.US, Locale.en_US, "r8qtcbzwx8sc3dvrxwsgbh4rczmkf8jm");

            // explicitly look up a guild
            //Guild userGuild = explorer.GetGuild("thrall", "blackfyre", GuildOptions.GetEverything);

            Character userCharacter = explorer.GetCharacter("thrall", "zantlock", CharacterOptions.GetPvP);

            TextView charName  = FindViewById <TextView>(Resource.Id.charName1);
            TextView charKills = FindViewById <TextView>(Resource.Id.totalKills1);

            //userCharacter.PvP.TotalHonorableKills

            // Get our button from the layout resource,
            // and attach an event to it
            Button btnGetKills = FindViewById <Button>(Resource.Id.getPvpKills);

            btnGetKills.Click += delegate
            {
                charName.Text  = userCharacter.Name;
                charKills.Text = userCharacter.PvP.TotalHonorableKills.ToString();
            };

            //button.Click += delegate { button.Text = string.Format("{0} clicks!", count++); };
        }
コード例 #4
0
ファイル: ItemTests.cs プロジェクト: briandek/GearStatDNA
        public void GetSpiritsOfTheSunItemTest()
        {
            WowExplorer explorer = new WowExplorer();
            Item i1 = explorer.GetItemDetails(86885);

            Assert.AreEqual("Spirits of the Sun", i1.name);
        }
コード例 #5
0
ファイル: DataTest.cs プロジェクト: wclayhall/WowDotNetAPI
        public void Get_Invalid_Data_From_CN_Region_Throws_Exception()
        {
            WowExplorer wEx = new WowExplorer(Region.CN);

            Action a = () => wEx.GetCharacterClasses();
            TestUtility.ThrowsException<Exception>(a, "The underlying connection was closed: Could not establish trust relationship for the SSL/TLS secure channel.");
        }
コード例 #6
0
ファイル: AuctionTests.cs プロジェクト: Hiale/WowDotNetAPI
        public void Get_TW_Realm_Auction_Data()
        {
            WowExplorer twExplorer = new WowExplorer(Region.TW, Locale.zh_TW, APIKey);

            Auctions auctions = twExplorer.GetAuctions("Balnazzar");

            Assert.IsTrue(auctions.AllAuctionHouses.Auctions.Count() > 0);
        }
コード例 #7
0
ファイル: AuctionTests.cs プロジェクト: Hiale/WowDotNetAPI
        public void Get_EU_Realm_Auction_Data()
        {
            WowExplorer euExplorer = new WowExplorer(Region.EU, Locale.fr_FR, APIKey);

            Auctions auctions = euExplorer.GetAuctions("Twisting Nether");

            Assert.IsTrue(auctions.AllAuctionHouses.Auctions.Count() > 0);
        }
コード例 #8
0
        public void Get_Guild_With_Connected_Realms()
        {
            WowExplorer        explorer2    = new WowExplorer(Region.EU, Locale.en_GB, APIKey);
            Guild              guild2       = explorer2.GetGuild("darksorrow", "mentality", GuildOptions.GetMembers);
            List <GuildMember> guildMembers = guild2.Members.Where(x => x.Character.Name.Equals("Danishpala", StringComparison.CurrentCultureIgnoreCase)).ToList();

            Assert.AreEqual(0, guildMembers.Count(x => !x.Character.Realm.Equals(x.Character.GuildRealm)));
        }
コード例 #9
0
        public void GetCharacterBriandekFromSkullcrusherTest()
        {
            WowExplorer explorer = new WowExplorer(Region.US, Locale.en_US);
            Character c1 = explorer.GetCharacterDetails("skullcrusher", "briandek");

            Assert.AreEqual(85, c1.level);
            Assert.AreEqual(1, c1.@class);
        }
コード例 #10
0
        public void GetCharacterFleasFromSkullcrusherTest()
        {
            WowExplorer explorer = new WowExplorer(Region.US, Locale.en_US);
            Character c1 = explorer.GetCharacterDetails("skullcrusher", "fleas");

            Assert.AreEqual(90, c1.level);
            Assert.AreEqual(11, c1.@class);
        }
コード例 #11
0
        public void Get_Guild_With_Connected_Realms()
        {
            WowExplorer explorer2 = new WowExplorer(Region.EU, Locale.en_GB, APIKey);
            Guild guild2 = explorer2.GetGuild("darksorrow", "mentality", GuildOptions.GetMembers);
            List<GuildMember> guildMembers = guild2.Members.Where(x => x.Character.Name.Equals("Danishpala", StringComparison.CurrentCultureIgnoreCase)).ToList();

            Assert.AreEqual(2, guildMembers.Count);
            Assert.AreEqual(1, guildMembers.Count(x => !x.Character.Realm.Equals(x.Character.GuildRealm)));
        }
コード例 #12
0
ファイル: AuctionTest.cs プロジェクト: wclayhall/WowDotNetAPI
        private void testRealm(Region region, string realm)
        {
            WowExplorer explorer = new WowExplorer(Region.US);

            Auctions auctions = explorer.GetAuctions("Skullcrusher");

            Assert.IsTrue(auctions.Horde.Auctions.Count() > 0);
            Assert.IsTrue((from n in auctions.Horde.Auctions where n.ItemId == 53010 select n).Count() > 0);
        }
コード例 #13
0
ファイル: AuthTests.cs プロジェクト: TheX/WowDotNetAPI
        public void FetchData_When_Authenticated()
        {
            WowExplorer authExplorer = new WowExplorer(Region.US, Locale.en_US, "", "");

            IEnumerable<Realm> realms = authExplorer.GetRealms();

            Realm realm = realms.GetRealm("skullcrusher");
            Assert.IsNotNull(realm);
            Assert.IsTrue(realm.Name == "Skullcrusher");
            Assert.IsTrue(realm.Type == RealmType.PVP);
            Assert.IsTrue(realm.Slug == "skullcrusher");
        }
コード例 #14
0
        public IEnumerable<Business.Character> ParserRoster(string region, string server, string name)
        {
            WowExplorer explorer = new WowExplorer(Region.US);
            try
            {

                Guild guildMembers = explorer.GetGuild(server, name, GuildOptions.GetMembers | GuildOptions.GetAchievements);

                if (guildMembers == null)
                {
                    return new List<Business.Character>();
                }
                return guildMembers.Members.Select(m => new Business.Character(m.Character.Name, server, region) { CurrentPoints = m.Character.AchievementPoints, Level = m.Character.Level });
            }
            catch (Exception ex)
            {
                return new List<Business.Character>();
            }
        }
コード例 #15
0
        private void Initialize()
        {
            _explorer = new WowExplorer(Region.EU, Locale.ru_RU, _apiKey);

            GuildsForChecking =
                new ObservableCollection <Guild>(GetObjectFromFile <List <Guild> >(GuildsForCheckingFileName) ??
                                                 new List <Guild>());
            BannedGuilds =
                new ObservableCollection <Guild>(GetObjectFromFile <List <Guild> >(BannedGuildsFileName) ??
                                                 new List <Guild>());
            BannedPlayers =
                new ObservableCollection <Character>(GetObjectFromFile <List <Character> >(BannedPlayersFileName) ??
                                                     new List <Character>());

            ServerNames = new List <string>
            {
                "Страж Смерти",
                "Черный Шрам",
                "Свежеватель душ",
                "Ревущий фьорд",
                "Азурегос",
                "Борейская тундра",
                "Вечная Песня",
                "Галакронд",
                "Голдринн",
                "Гордунни",
                "Гром",
                "Термоштепсель",
                "Дракономор",
                "Пиратская бухта",
                "Ткач Смерти",
                "Король-лич",
                "Седогрив",
                "Подземье",
                "Разувий",
                "Ясеневый лес"
            };
        }
コード例 #16
0
        public void Parse(bool download)
        {
            WowExplorer explorer = new WowExplorer(Region.US);

            IEnumerable<AchievementList> achievementList = explorer.GetAchievements();
            IList<Achievement> achievements = new List<Achievement>();

            foreach (AchievementList mainAchievementCategory in achievementList)
            {
                Console.WriteLine(mainAchievementCategory.Name);
                if (mainAchievementCategory.Categories != null)
                {
                    // First handle the sub categories
                    foreach (AchievementCategory subCategory in mainAchievementCategory.Categories)
                    {
                        ProcessAchievementList(subCategory.Achievements, subCategory.Name, subCategory.Id, mainAchievementCategory.Id);
                        Console.WriteLine("\t{0}", subCategory.Name);
                    }
                }

                ProcessAchievementList(mainAchievementCategory.Achievements, mainAchievementCategory.Name, mainAchievementCategory.Id, -1);

            }
        }
コード例 #17
0
ファイル: DataTests.cs プロジェクト: TheX/WowDotNetAPI
 public static void ClassInit(TestContext context)
 {
     explorer = new WowExplorer(Region.US, Locale.en_US);
 }
コード例 #18
0
 static Api()
 {
     ApiClient  = new WowExplorer();
     Characters = new List <Character>();
     Guilds     = new List <Guild>();
 }
コード例 #19
0
 public static void ClassInit(TestContext context)
 {
     explorer = new WowExplorer(WowRegion, WowLocale, APIKey);
 }
コード例 #20
0
ファイル: DataTests.cs プロジェクト: ge0metrix/WowDotNetAPI
 public static void ClassInit(TestContext context)
 {
     explorer = new WowExplorer(Region.US, Locale.en_US, APIKey);
 }
コード例 #21
0
ファイル: GuildTests.cs プロジェクト: jimmble/WowDotNetAPI
 public static void ClassInit(TestContext context)
 {
     explorer = new WowExplorer(Region.US, Locale.en_US, APIKey);
     guild    = explorer.GetGuild("korgath", "immortality", GuildOptions.GetEverything);
 }
コード例 #22
0
ファイル: Api.cs プロジェクト: berwyn/WoWSharp
 static Api()
 {
     ApiClient = new WowExplorer();
     Characters = new List<Character>();
     Guilds = new List<Guild>();
 }
コード例 #23
0
        public Business.Character Parse(Business.Character character, bool forceParse)
        {
            WowExplorer explorer = new WowExplorer(Region.US);
            try
            {
                WowDotNetAPI.Models.Character downloadedCharacter = explorer.GetCharacter(Region.US, character.Server, character.Name, CharacterOptions.GetAchievements | CharacterOptions.GetGuild);

                if (downloadedCharacter == null)
                {
                    return null;
                }

                character.Class = downloadedCharacter.Class.ToString();
                character.CurrentPoints = downloadedCharacter.AchievementPoints;
                character.LastParseDate = DateTime.UtcNow;
                character.Level = downloadedCharacter.Level;
                character.Race = downloadedCharacter.Race.ToString();
                character.Thumbnail = downloadedCharacter.Thumbnail;
                character.Guild = downloadedCharacter.Guild.Name;

                if (downloadedCharacter.Race == WowDotNetAPI.Models.CharacterRace.BLOOD_ELF ||
                    downloadedCharacter.Race == WowDotNetAPI.Models.CharacterRace.GOBLIN ||
                    downloadedCharacter.Race == WowDotNetAPI.Models.CharacterRace.ORC ||
                    downloadedCharacter.Race == WowDotNetAPI.Models.CharacterRace.PANDAREN_HORDE ||
                    downloadedCharacter.Race == WowDotNetAPI.Models.CharacterRace.TAUREN ||
                    downloadedCharacter.Race == WowDotNetAPI.Models.CharacterRace.TROLL ||
                    downloadedCharacter.Race == WowDotNetAPI.Models.CharacterRace.UNDEAD)
                {
                    character.Side = Achievement.HordeOnly;
                }
                else
                {
                    character.Side = Achievement.AllianceOnly;
                }

                for (int i = 0; i < downloadedCharacter.Achievements.AchievementsCompleted.Count(); i++)
                {
                    int blizzardId = downloadedCharacter.Achievements.AchievementsCompleted.ElementAt(i);
                    DateTime completedOn = ConvertUnixEpochTime(downloadedCharacter.Achievements.AchievementsCompletedTimestamp.ElementAt(i));

                    Achievement achievement = _achievementRepository.FindAchivementByBlizzardId(blizzardId);
                    if (achievement != null && !character.HasAchieved(achievement))
                    {
                        character.AddNewAchivement(completedOn, achievement);
                    }
                }

                for (int i = 0; i < downloadedCharacter.Achievements.Criteria

                return character;
            }
            catch (WebException we)
            {
                HttpWebResponse webResponse = we.Response as HttpWebResponse;
                if (webResponse != null && webResponse.StatusCode == HttpStatusCode.NotFound)
                {
                    return null;
                }

                throw we;
            }
        }
コード例 #24
0
        public async Task UpdateGuildCacheCmd(string level, [Remainder] string optionalguildname = null)
        {
            string guildname = optionalguildname ?? Globals.DEFAULTGUILDNAME;

            StringBuilder sb = new StringBuilder();

            // check if the level passed is a range
            string lowerrange = "";
            string upperrange = "";

            if (level.Contains("-"))
            {
                // it does so parse the lower upper level range
                string[] ranges = level.Split('-');
                lowerrange = ranges[0].Trim();
                upperrange = ranges[1].Trim();

                // make sure the range isn't over level 100
                if (int.Parse(lowerrange) > 100 || int.Parse(upperrange) > 100)
                {
                    sb.AppendLine("Level ranges cannot exceed level 100.\nLevels 101 thru 110 must be run individually.");
                    await ReplyAsync(sb.ToString());

                    return;
                }

                // make sure the range isn't over 100
                if (int.Parse(upperrange) - int.Parse(lowerrange) > 10)
                {
                    sb.AppendLine("Level ranges cannot exceed 10 levels at once.\nEX: ripbot updateguildcache 50-60 is ok.\nEX: ripbot updateguildcache 50-61 is NOT ok.");
                    await ReplyAsync(sb.ToString());

                    return;
                }
            }


            WowExplorer explorer = new WowExplorer(Region.US, Locale.en_US, Globals.MASHERYAPIKEY);
            Character   player   = null;

            if (level == "110")
            {
                await ReplyAsync("Updating level 110 players can take upwards of 5-10 minutes because of the amount we have. Be patient.\n");
            }

            sb.AppendLine("Attempting to update level " + level + " members of " + guildname + "  (" + DateTime.Now.ToString() + ")");
            await ReplyAsync(sb.ToString());

            sb.Clear();

            DataAccess da = new DataAccess();

            // check if guild exists
            bool ret = false;

            ret = da.DoesGuildExist(guildname);

            // if it doesn't, get it
            if (!ret)
            {
                Guild thenewguild = null;

                try
                {
                    thenewguild = explorer.GetGuild(Globals.DEFAULTREALM, guildname, GuildOptions.GetEverything);

                    UpdateGuildInfo(thenewguild);
                }
                catch
                {
                    sb.AppendLine("Guild" + guildname + " not found.");
                    await ReplyAsync(sb.ToString());

                    return;
                }

                thenewguild = null;
            }


            int           numofplayers        = 0;
            int           numofupdatedplayers = 0;
            List <string> insertedplayers     = new List <string>();
            List <string> updatedplayers      = new List <string>();
            List <string> failedplayers       = new List <string>();

            DataAccess.UpsertResult result = new DataAccess.UpsertResult();


            // Get the list of playernames in a guild from the cache who have a matching lvl
            string sql = "SELECT PlayerName FROM PLAYERS WHERE Level = " + level + " AND GuildName = '" + guildname + "'";

            if (!string.IsNullOrEmpty(lowerrange) && !string.IsNullOrEmpty(upperrange))
            {
                sql = "SELECT PlayerName FROM PLAYERS WHERE Level >= " + lowerrange + " AND Level <= " + upperrange + " AND GuildName = '" + guildname + "'";
            }

            DataTable matchingplayersfromcache = da.GetTable(sql, "Matches");

            if (matchingplayersfromcache != null & matchingplayersfromcache.Rows.Count > 0)
            {
                numofplayers        = matchingplayersfromcache.Rows.Count;
                numofupdatedplayers = 0;

                // loop through them
                foreach (DataRow dr in matchingplayersfromcache.Rows)
                {
                    try
                    {
                        player = explorer.GetCharacter(Globals.DEFAULTREALM, dr["PlayerName"].ToString(), CharacterOptions.GetEverything);
                    }
                    catch (Exception ex)
                    {
                        failedplayers.Add(dr["PlayerName"].ToString());

                        Console.WriteLine(ex.Message);
                        sb.AppendLine("Player " + dr["PlayerName"].ToString() + " not found.\nREASON: " + ex.Message + "\n");
                        continue;
                    }

                    // upsert the player and capture the inserts/updates
                    try
                    {
                        result = da.UpdatePlayer(player);
                        switch (result)
                        {
                        case DataAccess.UpsertResult.INSERTED:
                            insertedplayers.Add(player.Name);
                            break;

                        case DataAccess.UpsertResult.UPDATED:
                            updatedplayers.Add(player.Name);
                            break;

                        case DataAccess.UpsertResult.ERROR:
                            failedplayers.Add(player.Name);
                            break;

                        default:
                            break;
                        }
                    }
                    catch (Exception exx)
                    {
                        failedplayers.Add(player.Name);
                        Console.WriteLine(exx.Message);
                        await ReplyAsync("\nERROR:\n" + exx.ToString() + "\n");
                    }
                    if (result != DataAccess.UpsertResult.ERROR)
                    {
                        numofupdatedplayers++;
                    }
                    else
                    {
                        Console.WriteLine("");
                        sb.AppendLine("Player " + dr["PlayerName"].ToString() + " not updated.");
                        failedplayers.Add(player.Name);
                    }

                    //Thread.Sleep(2000);
                }
            }
            else
            {
                sb.AppendLine("There aren't any level " + level.ToString() + " players in the guild.  (" + DateTime.Now.ToString() + ")\n");
            }

            matchingplayersfromcache = null;

            player = null;


            // TODO: get the inserted players

            // get players from wow
            List <string> playersfromwow = new List <string>();
            Guild         theguild       = explorer.GetGuild(Globals.DEFAULTREALM, guildname, GuildOptions.GetMembers);

            if (theguild == null)
            {
                await ReplyAsync(guildname + " not found.");

                return;
            }
            foreach (GuildMember gm in theguild.Members)
            {
                playersfromwow.Add(gm.Character.Name);
            }
            playersfromwow.Sort();



            // get players from cache
            List <string> playersfromcache = da.GetPlayers(guildname);

            playersfromcache.Sort();



            // create list of players in wow but not cache
            List <string> playerstoinsert = new List <string>();

            foreach (string playerinwow in playersfromwow)
            {
                if (!playersfromcache.Contains(playerinwow))
                {
                    playerstoinsert.Add(playerinwow);
                }
            }

            //// create list of players in cache but not wow for purge
            //List<string> playerstopurge = new List<string>();
            //foreach (string playerincache in playersfromcache)
            //{
            //	if (!playersfromwow.Contains(playerincache))
            //		playerstopurge.Add(playerincache);
            //}

            // add the players to the cache that are missing
            foreach (string playertoadd in playerstoinsert)
            {
                try
                {
                    player = explorer.GetCharacter(Globals.DEFAULTREALM, playertoadd, CharacterOptions.GetEverything);
                }
                catch (Exception ex)
                {
                    if (ex.HResult == -2146233076)                      // seems to happen on Wrobbinhuud and Nighteld
                    {
                        sb.AppendLine(playertoadd + ": Error deserializing WoW character.");
                        continue;
                    }

                    if (ex.HResult == -2146233079)                      // "The remote server returned an error: (503) Server Unavailable."
                    {
                        sb.AppendLine(playertoadd + ": Error Blizzard API service is down.");
                        continue;
                    }

                    sb.AppendLine(playertoadd + ": not found.");
                    continue;
                }

                result = da.UpdatePlayer(player);
                switch (result)
                {
                case DataAccess.UpsertResult.INSERTED:
                    insertedplayers.Add(player.Name);
                    break;

                case DataAccess.UpsertResult.UPDATED:
                    updatedplayers.Add(player.Name);
                    break;

                case DataAccess.UpsertResult.ERROR:
                    failedplayers.Add(player.Name);
                    break;

                default:
                    break;
                }
            }



            da.Dispose();
            da       = null;
            explorer = null;

            if (sb != null && !string.IsNullOrEmpty(sb.ToString()))
            {
                await ReplyAsync(sb.ToString());
            }

            // build the output
            EmbedBuilder embugc = BuildUGCOutput(level, guildname, insertedplayers, updatedplayers, failedplayers);


            await ReplyAsync("\n", embed : embugc);
            await ReplyAsync("FINISHED adding/updating level " + level + " players." + "  (" + DateTime.Now.ToString() + ")\n");

            // TODO: purge players not in guild anymore
            //await PurgePlayersCmd(guildname);
        }
コード例 #25
0
ファイル: GuildTests.cs プロジェクト: nmugnier/WowDotNetAPI
 public static void ClassInit(TestContext context)
 {
     explorer = new WowExplorer(Region.US, Locale.en_US, APIKey);
     guild = explorer.GetGuild("skullcrusher", "immortality", GuildOptions.GetEverything);
 }
コード例 #26
0
        public async Task PurgePlayersCmd([Remainder] string optionalguildname = null)
        {
            string guildname = optionalguildname ?? Globals.DEFAULTGUILDNAME;

            await ReplyAsync("Attempting to purge players in " + guildname + "  (" + DateTime.Now.ToString() + ").\n");

            List <string> playerstoremove = new List <string>();


            #region pull guildmembers list from Blizz

            // pull guildmembers list from Blizz
            Hashtable   guildmembers = new Hashtable();
            WowExplorer explorer     = new WowExplorer(Region.US, Locale.en_US, Globals.MASHERYAPIKEY);
            Guild       theguild     = null;
            try
            {
                theguild = explorer.GetGuild(Globals.DEFAULTREALM, guildname, GuildOptions.GetEverything);
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
                if (ex.HResult == -2146233079)                  // "The remote server returned an error: (503) Server Unavailable."
                {
                    //await ReplyAsync("Blizzard API service is down.\n");
                    //await ReplyAsync(ex.Message + "\n");
                }
                await ReplyAsync(ex.Message + "\n");
                await ReplyAsync(guildname + " guild not found.\n");

                return;
            }

            // Update the guild and guildmember(PLAYERS) tables
            UpdateGuildInfo(theguild);

            // loop through the guildmembers and add to HashTable using players name as key
            foreach (GuildMember guildmember in theguild.Members)
            {
                guildmembers.Add(guildmember.Character.Name, guildmember.Character.Name);
            }

            theguild = null;
            explorer = null;

            #endregion


            #region pull players list from cache

            // create players list from cache
            DataAccess    da      = new DataAccess();
            List <string> players = da.GetPlayers(guildname);
            players.Sort();

            #endregion


            #region store the playernames to purge

            // store the playernames to purge
            foreach (string playername in players)
            {
                // check if player exist in guildmember list
                if (guildmembers.ContainsKey(playername))
                {
                    continue;
                }

                // if it doesn't then add to removal list
                playerstoremove.Add(playername);
            }

            #endregion


            // remove the players from the cache who are in the removal list
            int playersdeletedfromguild = da.PurgePlayers(playerstoremove);
            da.Dispose();
            da = null;


            #region build our output

            EmbedBuilder embpurges = Utility.GetBuilder(withname: "PurgePlayers", withtitle: "Purges a guilds players from the cache who are no longer are in the guild.",
                                                        withdescription: "```\n" + "The following players are flagged for removal from " + guildname + "." + "```", withiconurl: Context.Guild.IconUrl);

            string tmp = "";
            foreach (string flaggedplayer in playerstoremove)
            {
                tmp += flaggedplayer + " -- ";
            }

            // remove the trailing " -- " if it exist
            if (!string.IsNullOrEmpty(tmp))
            {
                tmp = tmp.Substring(0, tmp.Length - 4);
            }

            embpurges.AddField(x =>
            {
                x.IsInline = true;
                x.Name     = "__**Flagged**__";
                if (string.IsNullOrEmpty(tmp))
                {
                    x.Value = "No players to purge.";
                }
                else
                {
                    x.Value = tmp;
                }
            });


            embpurges.Build();

            #endregion


            await ReplyAsync("", embed : embpurges);
            await ReplyAsync("\n" + playersdeletedfromguild + " players purged from " + guildname + " cache out of " + playerstoremove.Count.ToString() + " to be purged  (" + DateTime.Now.ToString() + ").");
        }
コード例 #27
0
ファイル: CharacterTests.cs プロジェクト: TheX/WowDotNetAPI
        public void Get_Simple_Character_Briandek_From_Skullcrusher()
        {
            WowExplorer we = new WowExplorer(Region.EU, Locale.en_GB);
              Character character = we.GetCharacter("aegwynn", "nahrilol", CharacterOptions.GetEverything);
              Assert.AreEqual(character.Class, WowDotNetAPI.Models.CharacterClass.WARRIOR);
              Assert.AreEqual(57, character.Stats.Int);

            var briandek = explorer.GetCharacter("skullcrusher", "briandek");

            Assert.IsNull(briandek.Guild);
            Assert.IsNull(briandek.Stats);
            Assert.IsNull(briandek.Talents);
            Assert.IsNull(briandek.Items);
            Assert.IsNull(briandek.Reputation);
            Assert.IsNull(briandek.Titles);
            Assert.IsNull(briandek.Professions);
            Assert.IsNull(briandek.Appearance);
            Assert.IsNull(briandek.Companions);
            Assert.IsNull(briandek.Mounts);
            //Assert.IsNull(briandek.Pets);
            Assert.IsNull(briandek.Achievements);
            Assert.IsNull(briandek.Progression);

            Assert.IsTrue(briandek.Name.Equals("briandek", StringComparison.InvariantCultureIgnoreCase));
            Assert.AreEqual(85, briandek.Level);
            Assert.AreEqual(CharacterClass.WARRIOR, briandek.@Class);
            Assert.AreEqual(CharacterRace.HUMAN, briandek.Race);
            Assert.AreEqual(CharacterGender.MALE, briandek.Gender);
        }
コード例 #28
0
        private int UpdateCharacter(int charId, string name, string realm, string region)
        {
            WowExplorer explorer;

            if (region == "EU")
            {
                explorer = new WowExplorer(WowDotNetAPI.Region.EU, Locale.en_GB);
            }
            else
            {
                explorer = new WowExplorer(WowDotNetAPI.Region.US, Locale.en_US);
            }

            Character characterDetails = explorer.GetCharacter(realm, name, CharacterOptions.GetStats | CharacterOptions.GetItems | CharacterOptions.GetGuild | CharacterOptions.GetTalents | CharacterOptions.GetProfessions);
            IncrementAPIToday(1);

            if (characterDetails != null)
            {
                int changeEvents = HistoryCreateNewSet(characterDetails, charId);
                UpdateTrackedCharacterTime(charId);
                return changeEvents;
            }
            else { return -1; }
        }
コード例 #29
0
 private Item GetItemFromAPI(int id)
 {
     WowExplorer we = new WowExplorer(WowDotNetAPI.Region.EU, Locale.en_GB);
     IncrementAPIToday(1);
     return we.GetItem(id.ToString());
 }
コード例 #30
0
ファイル: DataTests.cs プロジェクト: TheX/WowDotNetAPI
        public void Get_Invalid_Data_From_CN_Region_Throws_Exception()
        {
            var CNexplorer = new WowExplorer(Region.CN, Locale.zh_CN);

            var characterClasses = CNexplorer.GetCharacterClasses();
            var error = CNexplorer.ErrorInfo;

            Assert.IsNull(characterClasses);
            Assert.IsNotNull(error);
        }
コード例 #31
0
 public static void ClassInit(TestContext context)
 {
     explorer = new WowExplorer(WowRegion, WowLocale, APIKey);
 }
コード例 #32
0
ファイル: ItemTests.cs プロジェクト: briandek/GearStatDNA
 public void GetHoodOfStilledWindsItemTest()
 {
     WowExplorer explorer = new WowExplorer();
     Item i1 = explorer.GetItemDetails(89922);
     Assert.AreEqual("Hood of Stilled Winds", i1.name);
 }
コード例 #33
0
ファイル: Class1.cs プロジェクト: blat001/Achievement-Sherpa
        public static void Main(string[] args)
        {
            WowExplorer explorer = new WowExplorer(Region.US);

            Guild immortalityGuild = explorer.GetGuild("Kilrogg", "PVP Guild", GuildOptions.GetEverything);

            Console.WriteLine("\n\nGUILD EXPLORER SAMPLE\n");

            Console.WriteLine("{0} is a guild of level {1} and has {2} members.",
                immortalityGuild.Name,
                immortalityGuild.Level,
                immortalityGuild.Members.Count());

            //Print out first top 20 ranked members of Immortality
            foreach (GuildMember member in immortalityGuild.Members.OrderBy(m => m.Rank).Take(20))
            {
                Console.WriteLine(member.Character.Name + " has rank " + member.Rank);
            }

            Console.WriteLine("\n\nCHARACTER EXPLORER SAMPLE\n");
            Character briandekCharacter =
                explorer.GetCharacter("kilrogg", "debz", CharacterOptions.GetStats | CharacterOptions.GetAchievements);

            Console.WriteLine("{0} is a retired warrior of level {1} who has {2} achievement points having completed {3} achievements",
                briandekCharacter.Name,
                briandekCharacter.Level,
                briandekCharacter.AchievementPoints,
                briandekCharacter.Achievements.AchievementsCompleted.Count());

            foreach (KeyValuePair<string, object> stat in briandekCharacter.Stats)
            {
                Console.WriteLine(stat.Key + " : " + stat.Value);
            }

            //Get one realm
            IEnumerable<Realm> usRealms = explorer.GetRealms(Region.US);
            Realm skullcrusher = usRealms.GetRealm("skullcrusher");

            //Get all pvp realms only
            IEnumerable<Realm> pvpRealmsOnly = usRealms.WithType(RealmType.PVP);
            Console.WriteLine("\n\nREALMS EXPLORER SAMPLE\n");
            foreach (var realm in pvpRealmsOnly)
            {
                Console.WriteLine("{0} has {1} population", realm.Name, realm.Population);
            }

            Console.WriteLine("\n\nGUILD PERKS\n");

            IEnumerable<GuildPerkInfo> perks = explorer.GetGuildPerks();
            foreach (var perk in perks)
            {
                Console.WriteLine("{0} perk at guild level {1}", perk.Spell.Name, perk.GuildLevel);
            }

            Console.WriteLine("\n\nGUILD REWARDS\n");

            IEnumerable<GuildRewardInfo> rewards = explorer.GetGuildRewards();
            foreach (var reward in rewards)
            {
                Console.WriteLine("{0} reward at min guild level {1}", reward.Item.Name, reward.MinGuildLevel);
            }

            Console.WriteLine("\n\nCHARACTER RACES\n");

            IEnumerable<CharacterRaceInfo> races = explorer.GetCharacterRaces();
            foreach (var race in races.OrderBy(r => r.Id))
            {
                Console.WriteLine("{0} race with numeric value {1}", race.Name, race.Id);
            }

            Console.WriteLine("\n\nCHARACTER CLASSES\n");

            IEnumerable<CharacterClassInfo> classes = explorer.GetCharacterClasses();
            foreach (var @class in classes.OrderBy(c => c.Id))
            {
                Console.WriteLine("{0} class with numeric value {1}", @class.Name, @class.Id);
            }
        }