public async Task LinkAsync(string id)
        {
            bool  canLink = true;
            ulong checkingParse;

            if (string.IsNullOrEmpty(id))
            {
                ReplyAsync("Please enter an scoresaber ID");
                canLink = false;
            }

            if (id.Length != 17 || !ulong.TryParse(id, out checkingParse) || !PlayerInfos.HasASSPage(id))
            {
                ReplyAsync("Please enter a correct scoresaber ID");
                canLink = false;
            }

            try
            {
                if (!string.IsNullOrEmpty(PlayersDB.GetPlayer(Context.User.Id.ToString())))
                {
                    ReplyAsync("A scoresaber ID is already linked to your account,\nplease reach your server administrator");
                    canLink = false;
                }
            }
            finally
            {
                if (canLink)
                {
                    PlayersDB.AddPlayer(Context.User.Id.ToString(), id);
                    ReplyAsync("Your account was succesfully linked :clap:");
                }
            }
        }
        public async Task unlinkAsync()
        {
            try
            {
                if (!string.IsNullOrEmpty(PlayersDB.GetPlayer(Context.User.Id.ToString())))
                {
                    if (PlayersDB.RemovePlayer(Context.User.Id.ToString()))
                    {
                        Context.Channel.SendMessageAsync("Your account was successfully unlinked!");
                    }
                    else
                    {
                        Context.Channel.SendMessageAsync("Sorry but your account isn't linked");
                    }
                }

                else
                {
                    Context.Channel.SendMessageAsync("Sorry but your account isn't linked");
                }
            }
            catch (Exception e)
            {
                Context.Channel.SendMessageAsync("Sorry but your account isn't linked");
            }
        }
Exemple #3
0
    public void EnterBtn()
    {
        bool tryToLogin = false;

        if (inputUserName.text == "" || inputUserPassword.text == "")
        {
            ShowNotification("Упсик...", "Пустенько, заполните поля :)", false);
            tryToLogin = false;
        }
        else
        {
            for (int i = 0; i < PlayersDB.player.Length - 1; i++)
            {
                if (inputUserName.text == PlayersDB.GetDataValue(PlayersDB.player[i], "Login:"******"Password:"******"Ошибочка!", "Повторите ввод", false);
            inputUserName.text.Remove(0);
            inputUserPassword.text.Remove(0);
        }
        else
        {
            ShowNotification("Играть!", "Добро пожаловать!", true);
            SceneManager.LoadScene("NeverEndLevel");
        }
    }
Exemple #4
0
    public void RegistrationBtn()
    {
        bool tryToLogin = true;

        if (login.text == "" || password.text == "")
        {
            ShowNotification("Упсик...", "Пустенько :)", false);
            tryToLogin = false;
        }
        else
        {
            for (int i = 0; i < PlayersDB.player.Length - 1; i++)
            {
                if (login.text == PlayersDB.GetDataValue(PlayersDB.player[i], "Login:"******"";
                    password.text = "";
                    ShowNotification("Охохоюшки", "Придумай новенький\n логин", false);

                    tryToLogin = false;
                    break;
                }
            }
        }
        if (tryToLogin)
        {
            CreateUser(login.text, password.text);
            SceneManager.LoadScene("Autorization");
        }
    }
Exemple #5
0
        private void BuildModel(ref HomeIndexView_Model m)
        {
            var players = PlayersDB.GetPlayersByGame(m.GameId);

            m.Players = players.Select(x => new PlayerClass_Model
            {
                FirstName = x.Name
            }).ToList();
        }
        public async Task BSPPBoosterAsync()
        {
            string id = PlayersDB.GetPlayer(Context.User.Id.ToString());

            if (!string.IsNullOrEmpty(id))
            {
                WebClient webClient = new WebClient();
                webClient.DownloadFile(new Uri(bsppBoosterLink + id), $"bsppbooster-{id}.bplist");
                Context.Channel.SendFileAsync($"bsppbooster-{id}.bplist", "Here's your file :smile:");
            }
            else
            {
                Context.Channel.SendMessageAsync(
                    "Sorry but your account isn't linked, please link it with the `!link` command");
            }
        }
Exemple #7
0
        public ActionResult Index(int id)
        {
            var m = new HomeIndexView_Model();

            var players = PlayersDB.GetPlayersByGame(id);
            var game    = GamesDB.GetSingleGame(id);

            m.Players = players.Select(x => new PlayerClass_Model
            {
                FirstName = x.Name
            }).ToList();

            m.GameCode     = game.JoinCode;
            m.GameDateTime = game.GameDateTime;
            m.LocationName = game.LocationName;
            m.GameId       = game.Id;

            return(View("index_view", m));
        }
        public async Task MeAsync(string id = null)
        {
            string _id = PlayersDB.GetPlayer(Context.User.Id.ToString());

            if (!string.IsNullOrEmpty(_id))
            {
                if (string.IsNullOrEmpty(id))
                {
                    id = _id;
                }
                playerInfos infos = PlayerInfos.GetInfos(id);
                var         acc   = double.Parse(infos.ScoreStats.averageRankedAccuracy.Replace(".", ","));
                acc = Math.Round(acc, 2);
                var builder = new EmbedBuilder()
                              .WithTitle($"{infos.PlayerInfo.playerName}")
                              .WithUrl($"https://scoresaber.com/u/{id}")
                              .WithColor(Color.Blue)
                              .WithThumbnailUrl($"{scoresaberLink}{infos.PlayerInfo.avatar}")
                              .WithFooter("ScoreSaberStats 1.0.1 | Dev Version")
                              .AddField("Rank", $":earth_africa: #{infos.PlayerInfo.rank} | :flag_{infos.PlayerInfo.country.ToLower()}: #{infos.PlayerInfo.countryRank}")
                              .AddField("Ranked plays count", $":metal: {infos.ScoreStats.rankedPlayCount}")
                              .AddField("Performance points", $":clap: {infos.PlayerInfo.pp}", true)
                              .AddField("Ranked acc", $":sparkles: {acc}%", true);

                if (infos.PlayerInfo.banned != "0")
                {
                    builder.Color = Color.Red;
                }
                var embed = builder.Build();
                await Context.Channel.SendMessageAsync(null, false, embed);
            }
            else
            {
                Context.Channel.SendMessageAsync(
                    "Sorry but your account isn't linked, please link it with the `!link` command");
            }
        }
Exemple #9
0
        static void Main(string[] args)
        {
            //var config_builder = new ConfigurationBuilder()
            //   .AddJsonFile("appsettings.json", false, true);
            //var config = config_builder.Build();

            //var connection_string = @"Data Source=\\localhost;Initial Catalog=TestDB;Integrated Security=True;Timeout=30";
            ////var connection_string2 = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=TestDB;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";

            //var connection_string_builder = new SqlConnectionStringBuilder(connection_string);

            //connection_string_builder.DataSource = "(localdb)\\MSSQLLocalDB";
            //connection_string_builder.IntegratedSecurity = false;
            //connection_string_builder.UserID = "MyUser";
            //connection_string_builder.Password = "******";

            //var new_connection_string = connection_string_builder.ConnectionString;

            //CreatePlayerTable(ConnectionString);

            var rnd = new Random();

            AddPlayerScore("Иванов", rnd.Next(0, 1001));
            AddPlayerScore("Петров", rnd.Next(0, 1001));
            AddPlayerScore("Сидоров", rnd.Next(0, 1001));

            var records_count = GetRecordsCount();

            Console.WriteLine("Число записей в таблице Players {0}", records_count);

            var ivanov_games_count = GetPlayerGamesCount("Иванов");

            Console.WriteLine("Иванов играл в нишу игру {0} раз", ivanov_games_count);

            Console.WriteLine();

            //foreach (var player in GetAllGameResults())
            //    Console.WriteLine(player);

            foreach (var(_, name, score) in GetAllGameResults().OrderByDescending(v => v.Score).Take(5))
            {
                Console.WriteLine("{0} - {1}", name, score);
            }


            var table = GetScoreTable();

            var row3   = table.Rows[3];
            var id3    = row3["Id"];
            var name3  = row3["name"];
            var score3 = row3["score"];

            row3["name"] = "QWE";

            var name31 = row3["name"];

            UpdateData(table);

            var db_connstion_options = new DbContextOptionsBuilder <PlayersDB>()
                                       .UseSqlServer(Configuration.GetConnectionString("EFCore"));

            using var db = new PlayersDB(db_connstion_options.Options);

            db.Database.EnsureCreated();

            if (!db.Players.Any())
            {
                for (var i = 1; i <= 10; i++)
                {
                    var player = new Data.Player {
                        Name = $"Player-{i}", Sessions = new List <GameSession>()
                    };

                    for (var j = 0; j < 10; j++)
                    {
                        var session = new GameSession {
                            Player = player, Scores = rnd.Next(1, 1001)
                        };
                        player.Sessions.Add(session);
                    }

                    db.Players.Add(player);
                }
                db.SaveChanges();
            }

            var total_scores = db.GameSessions.Sum(session => session.Scores);

            var player1_total_scores = db.Players.Where(p => p.Name == "Player-5").SelectMany(p => p.Sessions).Sum(s => s.Scores);

            Console.WriteLine();

            var best_players_query = db.Players
                                     .Select(p => new { p.Name, TotalScores = p.Sessions.Sum(s => s.Scores) })
                                     .OrderByDescending(p => p.TotalScores)
                                     .Take(5);

            foreach (var player in best_players_query)
            {
                Console.WriteLine("{0} - {1}", player.Name, player.TotalScores);
            }
        }