Example #1
0
        public static void Main(string[] args)
        {
            // Load configs
            LoadConfigsAsync();

            // Create builder
            var builder = WebApplication.CreateBuilder(args);

            builder.Host.ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseUrls("http://localhost:3000", "https://localhost:3001");
            });

            // Set up services
            ConfigureServices(builder);

            // Build web app
            var app = builder.Build();

            // Configure application
            ConfigureApp(app);

            app.MapGet("/api/ping", () => "pong");

            // Add API routes
            BaseAPI.AddRoutes(app);
            UploadAPI.AddRoutes(app);
            ChannelAPI.AddRoutes(app);
            CategoryAPI.AddRoutes(app);
            PlanetAPI.AddRoutes(app);
            UserAPI.AddRoutes(app);
            MemberAPI.AddRoutes(app);
            RoleAPI.AddRoutes(app);
            EmbedAPI.AddRoutes(app);

            // Run
            app.Run();
        }
Example #2
0
        public async void GetRoles(Discord.Server server, Discord.User discorduser)
        {
            SettingsRepo settingsRepo = new SettingsRepo(new SettingsContext());
            Summoner     summoner     = null;

            try
            {
                DataLibary.Models.User user =
                    new UserRepo(new UserContext()).GetUserByDiscord(discorduser.Id);
                summoner =
                    new SummonerAPI().GetSummoner(
                        new SummonerRepo(new SummonerContext()).GetSummonerByUserId(user),
                        ToolKit.LeagueAndDatabase.GetRegionFromDatabaseId(
                            new RegionRepo(new RegionContext()).GetRegionId(user)
                            ));
            }
            catch
            {
            }
            if (settingsRepo.RankByAccount(server.Id) == true)
            {
                //summoner will be null when the item does not excist within the database.
                //This is only done so there will be a proper returnmessage send to the user.
                if (summoner != null)
                {
                    if (settingsRepo.RankCommandType(server.Id) == CommandType.Basic)
                    {
                        try
                        {
                            string rank = new RankAPI().GetRankingSimple(summoner,
                                                                         Queue.RankedSolo5x5);
                            try
                            {
                                await discorduser.AddRoles(
                                    server.GetRole(settingsRepo.GetOverride(rank.ToLower(),
                                                                            server.Id)));
                            }
                            catch
                            {
                                await discorduser.AddRoles(server.FindRoles(rank, false).First());
                            }
                        }
                        catch
                        {
                        }
                    }
                    else if (settingsRepo.RankCommandType(server.Id) == CommandType.Division)
                    {
                        try
                        {
                            string rank =
                                new RankAPI().GetRankingHarder(summoner, Queue.RankedSolo5x5)
                                .ToLower();
                            try
                            {
                                await discorduser.AddRoles(
                                    server.GetRole(settingsRepo.GetOverride(rank, server.Id)));
                            }
                            catch
                            {
                                await discorduser.AddRoles(server.FindRoles(rank, false).First());
                            }
                        }
                        catch { }
                    }
                    else if (settingsRepo.RankCommandType(server.Id) == CommandType.PerQueue)
                    {
                        //Each of these can fail when someone does not have this rank, therefore this isn't in one big Try because it could fail halfway.
                        try
                        {
                            string rank = "Solo " +
                                          new RankAPI().GetRankingSimple(summoner,
                                                                         Queue.RankedSolo5x5);
                            try
                            {
                                await discorduser.AddRoles(
                                    server.GetRole(settingsRepo.GetOverride(rank, server.Id)));
                            }
                            catch
                            {
                                await discorduser.AddRoles(server.FindRoles(rank, false).First());
                            }
                        }
                        catch
                        {
                            Console.WriteLine(discorduser.Name + "doesn't have a soloq rank");
                        }
                        try
                        {
                            string rank = "Flex " +
                                          new RankAPI().GetRankingSimple(summoner,
                                                                         Queue.RankedFlexSR);
                            try
                            {
                                await discorduser.AddRoles(
                                    server.GetRole(settingsRepo.GetOverride(rank, server.Id)));
                            }
                            catch
                            {
                                await discorduser.AddRoles(server.FindRoles(rank, false).First());
                            }
                        }
                        catch
                        {
                            Console.WriteLine(discorduser.Name + "doesn't have a flex rank");
                        }
                        try
                        {
                            string rank = "3v3 " +
                                          new RankAPI().GetRankingSimple(summoner,
                                                                         Queue.RankedFlexTT);
                            try
                            {
                                await discorduser.AddRoles(
                                    server.GetRole(settingsRepo.GetOverride(rank, server.Id)));
                            }
                            catch
                            {
                                await discorduser.AddRoles(server.FindRoles(rank, false).First());
                            }
                        }
                        catch
                        {
                            Console.WriteLine(discorduser.Name + "doesn't have a 3v3 rank");
                        }
                    }
                }
            }
            if (settingsRepo.RegionByAccount(server.Id) && summoner != null)
            {
                //summoner will be null when the item does not excist within the database.
                //This is only done so there will be a proper returnmessage send to the user.

                foreach (string region in new RegionRepo(new RegionContext()).GetAllRegions())
                {
                    if (region.ToLower() == summoner.Region.ToString().ToLower())
                    {
                        try
                        {
                            await discorduser.AddRoles(
                                server.GetRole(settingsRepo.GetOverride(region.ToLower(), server.Id)));
                        }
                        catch
                        {
                            await discorduser.AddRoles(server.FindRoles(region, false).First());
                        }
                    }
                }
            }
            if (settingsRepo.RoleByAccount(server.Id) && summoner != null)
            {
                List <string> filter = new List <string>();
                if (settingsRepo.RoleCommandType(server.Id) == CommandType.Basic)
                {
                    filter = DataLibary.Models.Roles.NormalRoles();
                }
                else if (settingsRepo.RoleCommandType(server.Id) == CommandType.Main)
                {
                    filter = DataLibary.Models.Roles.MainRoles();
                }
                else if (settingsRepo.RoleCommandType(server.Id) == CommandType.Mains)
                {
                    filter = DataLibary.Models.Roles.MainsRoles();
                }



                try
                {
                    string mainrole = new RoleAPI().GetRole(summoner);
                    foreach (string role in filter)
                    {
                        if (role.Contains(mainrole))
                        {
                            try
                            {
                                ulong id = settingsRepo.GetOverride(role.ToLower(), server.Id);
                                await discorduser.AddRoles(server.GetRole(id));
                            }
                            catch
                            {
                                await discorduser.AddRoles(server.FindRoles(role, false).First());
                            }
                        }
                    }
                }
                catch
                {
                    Console.WriteLine("Error in roles");
                }
            }
            if (settingsRepo.MasteryPointsByAccount(server.Id) && summoner != null)
            {
                int points = new MasteryAPI().GetPoints(summoner,
                                                        new ChampionAPI().GetChampion(settingsRepo.GetChampionId(server.Id), RiotSharp.Region.eune));
                Discord.Role r = server.GetRole(settingsRepo.GetRoleByPoints(server.Id, points));
                await discorduser.AddRoles(r);
            }
        }
Example #3
0
        public string GetInfoShort(Summoner summoner)
        {
            StaticRiotApi staticApi    = StaticRiotApi.GetInstance(Keys.Keys.riotKey);
            string        returnstring = "";

            returnstring += "**" + summoner.Name + ": **";
            returnstring += "\n**Region:** " + summoner.Region.ToString().ToUpper();
            returnstring += "\n**Level:** " + summoner.Level.ToString();
            if (summoner.Level == 30)
            {
                RankAPI rankApi = new RankAPI();
                try
                {
                    returnstring += "\n**Rankings: **";
                    if (rankApi.GetRankingHarder(summoner, Queue.RankedSolo5x5) != null)
                    {
                        returnstring += "\nSolo: " + rankApi.GetRankingHarder(summoner, Queue.RankedSolo5x5);
                    }
                    if (rankApi.GetRankingHarder(summoner, Queue.RankedFlexSR) != null)
                    {
                        returnstring += "\nFlex: " + rankApi.GetRankingHarder(summoner, Queue.RankedFlexSR);
                    }
                    if (rankApi.GetRankingHarder(summoner, Queue.RankedFlexTT) != null)
                    {
                        returnstring += "\n3v3: " + rankApi.GetRankingHarder(summoner, Queue.RankedFlexTT);
                    }
                }
                catch { }
            }
            try
            {
                int gamesplayed = new RoleAPI().GetGamesPlayed(summoner);
                if (gamesplayed != 0)
                {
                    returnstring += "**\nTotal Solo Games Played:** " + gamesplayed + " games";
                }
                var champList = new ChampionAPI().Get5MainChampions(summoner);
                returnstring += "**\nMain ranked champions:**";
                foreach (var champ in champList)
                {
                    returnstring += "\n" + champ.Name + ": " + champ.Count + " games.";
                }
            }
            catch { }
            try
            {
                var masteryList = new MasteryAPI().GetChampionMasterys(summoner);
                masteryList = masteryList.OrderBy(c => c.ChampionLevel).ThenBy(c => c.ChampionPoints).ToList();
                masteryList.Reverse();
                int champions = 3;
                if (masteryList.Count < 3)
                {
                    champions = masteryList.Count;
                }
                returnstring += "\n**Highest mastery:** ";
                for (int i = 0; i < champions; i++)
                {
                    returnstring += "\n" + staticApi.GetChampion(RiotSharp.Region.br, (Convert.ToInt32((masteryList[i].ChampionId)))).Name + ": Level " + masteryList[i].ChampionLevel.ToString() + ", " + masteryList[i].ChampionPoints.ToString() + " Points";
                }
            }
            catch { }

            return(returnstring);
        }
Example #4
0
        public void GetRole()
        {
            commands.CreateCommand("Role")
            .Do(async(e) =>
            {
                string returnstring       = "";
                SettingsRepo settingsRepo = new SettingsRepo(new SettingsContext());
                if (new ServerRepo(new ServerContext()).IsServerVerified(e.Server.Id))
                {
                    if (settingsRepo.RoleByAccount(e.Server.Id))
                    {
                        List <string> filter = new List <string>();
                        if (settingsRepo.RoleCommandType(e.Server.Id) == CommandType.Basic)
                        {
                            filter = DataLibary.Models.Roles.NormalRoles();
                        }
                        else if (settingsRepo.RoleCommandType(e.Server.Id) == CommandType.Main)
                        {
                            filter = DataLibary.Models.Roles.MainRoles();
                        }
                        else if (settingsRepo.RoleCommandType(e.Server.Id) == CommandType.Mains)
                        {
                            filter = DataLibary.Models.Roles.MainsRoles();
                        }

                        Summoner summoner = null;
                        try
                        {
                            DataLibary.Models.User user =
                                new UserRepo(new UserContext()).GetUserByDiscord(e.User.Id);
                            summoner =
                                new SummonerAPI().GetSummoner(
                                    new SummonerRepo(new SummonerContext()).GetSummonerByUserId(user),
                                    ToolKit.LeagueAndDatabase.GetRegionFromDatabaseId(
                                        new RegionRepo(new RegionContext()).GetRegionId(user)
                                        ));
                        }
                        catch
                        {
                            returnstring = Eng_Default.RegisterAccount();
                        }
                        //summoner will be null when the item does not excist within the database.
                        //This is only done so there will be a proper returnmessage send to the user.
                        if (summoner != null)
                        {
                            string mainrole = new RoleAPI().GetRole(summoner);
                            foreach (string role in filter)
                            {
                                if (role.Contains(mainrole))
                                {
                                    try
                                    {
                                        ulong id = settingsRepo.GetOverride(role.ToLower(), e.Server.Id);
                                        await e.User.AddRoles(e.Server.GetRole(id));
                                        returnstring = Eng_Default.RoleHasBeenGiven(role);
                                    }
                                    catch
                                    {
                                        await e.User.AddRoles(e.Server.FindRoles(role, false).First());
                                        returnstring = Eng_Default.RoleHasBeenGiven(role);
                                    }
                                }
                            }
                        }
                    }
                }
                else
                {
                    returnstring = Eng_Default.ServerIsNotVerified();
                }
                await e.Channel.SendMessage(returnstring);
            });
        }