Esempio n. 1
0
        public async Task GetCharacterInfoAsync(ulong chanId, string name, string realm, string region)
        {
            Region definedRegion;

            switch (region.ToLower())
            {
            case "eu":
                definedRegion = Region.EU;
                break;

            case "us":
                definedRegion = Region.US;
                break;

            case "kr":
                definedRegion = Region.KR;
                break;

            case "tw":
                definedRegion = Region.TW;
                break;

            default:
                definedRegion = Region.EU;
                break;
            }

            var client        = new RaiderIOClient(definedRegion, realm, name);
            var characterData = await client.GetCharacterStatsAsync();

            var armoryURL     = $"https://worldofwarcraft.com/en-gb/character/{realm}/{name}/";
            var wowanalyzeURL = $"https://www.wowanalyzer.com/character/EU/{realm}/{name}/";

            var embed = new DisukuEmbed
            {
                Title       = $"{characterData.Name} {characterData.Realm} | Character Info",
                Description = $"**Name**: {characterData.Name}\n" +
                              $"**Links**: [Raider.IO]({characterData.Url}) | [Armory]({armoryURL}) | [WowAnalzyer]({wowanalyzeURL})\n" +
                              $"**Class**: {characterData.Race}, {characterData.SpecName} {characterData.Class}\n" +
                              $"**Item Level**: Equipped: {characterData.Gear.ItemLevelEquiped} | Overall: {characterData.Gear.ItemLevelAverage}\n" +
                              $"**Raid Progression (Uldir)**: {characterData.GetRaidProgression.Uldir.Summary}\n" +
                              $"**Mythic+**: {characterData.GetMythicPlusScores.Overall}",
                Thumbnail = characterData.Thumbnail
            };

            await _discordMessage.SendDiscordEmbedAsync(chanId, embed);
        }
Esempio n. 2
0
        private static async Task Initialize()
        {
            //The Params Defined Here will be used for all of the core Character Specific Requests.
            var client        = new RaiderIOClient(Region.EU, "Draenor", "Perifete");
            var characterData = await client.GetCharacterStats();

            string text = $"**Name**: {characterData.Name}\n" +
                          $"**Links**: [Raider.IO]({characterData.Url}) | [Armory](none) | [WowAnalzyer](none)\n" +
                          $"**Class**: {characterData.Race}, {characterData.SpecName} {characterData.Class}\n" +
                          $"**Item Level**: Equipped: {characterData.Gear.ItemLevelEquiped} | Overall: {characterData.Gear.ItemLevelAverage}\n" +
                          $"**Raid Progression (Uldir)**: {characterData.GetRaidProgression.Uldir.Summary}\n" +
                          $"**Mythic+**: {characterData.GetMythicPlusScores.Overall}";

            Console.WriteLine(text);

            //var recent = await client.GetRecentRuns();
            //Test(recent.RecentRuns, "Recent Runs");

            //var best = await client.GetBestRuns(3);
            //Test(best.BestRuns, "Best Runs");

            //var weekly = await client.GetWeeklyRuns();
            //Test(weekly.WeeklyRuns, "Weekly Runs");

            //var highest = await client.GetHighestRuns();
            //Test(highest.HighestRuns, "Highest Runs");

            //var rankings = await client.GetMythicPlusRankings();
            //Console.WriteLine($"\n\n RANKS\nOverall: {rankings.Rankings.Overall.World}\nRealm DPS: {rankings.Rankings.Dps.Realm}");

            //This requires the Region param again to allow for the user to request affixes for any region.
            //regardless of those defined in the RaiderIOClient.
            var affixes = await client.GetAffixes(Region.EU);

            Console.WriteLine("\n\nAffixes");
            foreach (var item in affixes.CurrentAffixes)
            {
                Console.WriteLine($"{item.Name}\n{item.Description}\n");
            }

            ////This requires additonal params due to not actually calling character specific data.
            ////Instead here, we're calling guild data.
            //var guildprog = await client.GetGuildRaidProgression(Region.EU, "draenor", "Phoenix Arising");
            //Console.WriteLine($"\n\nGuild Raid Summary: {guildprog.RaidInfo.Uldir.Summary}");

            Console.ReadLine();
        }