public async Task LeagueRankedSub([Remainder][Summary("Summoner name")] string summonerName)
        {
            RiotApiResponseSummonerModel summoner = await _apiRequest.GetSummoner(summonerName);

            if (summoner.Name == null)
            {
                await ReplyAsync(summonerName + " is not a summonername");

                return;
            }

            //using statement disposes of the database when its finished
            using (var db = new SummonerContext())
            {
                //Check if it exists
                if (db.SummonerModels.Any(s => s.SummonerName == summonerName))
                {
                    await ReplyAsync(summonerName + " is already subscribed");
                }
                else
                {
                    db.SummonerModels.Add(new SummonerModel {
                        SummonerName = summonerName
                    });
                    db.SaveChanges();
                    await ReplyAsync(summonerName + " is now subscribed");
                }
            }
        }
Beispiel #2
0
        public async Task GetSumLvlAndRank([Remainder][Summary("Summoner name")] string summonerName)
        {
            RiotApiResponseSummonerModel summoner = await _apiRequest.GetSummoner(summonerName);

            RiotApiResponseRankModel[] ranked = await _apiRequest.GetSummonerRank(summonerName);

            /*Because tha api is random in wich ranked que json (Flex or Solo) is sent first
             * we need to find the one where queueType is solo. Noone cares about flex*/
            if (ranked.FirstOrDefault(x => x.QueueType == QueueTypeModel.Solo5v5) is RiotApiResponseRankModel summonerRanked)
            {
                await ReplyAsync($"{summoner.Name} is level {summoner.SummonerLevel} and is {summonerRanked.Tier} {summonerRanked.Rank}");
            }
            else
            {
                await ReplyAsync($"{summoner.Name} is level {summoner.SummonerLevel} but has no rank");
            }
        }