Пример #1
0
        public Dictionary <int, ChatIssue> LoadChatIssues(Player player)
        {
            var issues = new Dictionary <int, ChatIssue>();

            try
            {
                using (var mySqlClient = SqlDatabaseManager.GetClient())
                {
                    var queryTable = mySqlClient.ExecuteQueryTable("SELECT * FROM player_chat_issues WHERE PLAYER_ID=" + player.Id);
                    foreach (DataRow row in queryTable.Rows)
                    {
                        var id         = intConv(row["ID"]);
                        var issueType  = (ChatIssueTypes)intConv(row["ISSUE_TYPE"]);
                        var issuedTime = DateTime.Parse(row["ISSUED_AT"].ToString());
                        var reason     = row["REASON"].ToString();
                        var expireTime = DateTime.Parse(row["EXPIRY"].ToString());
                        var issuedBy   = intConv(row["ISSUED_BY"]);
                        var chatIssue  = new ChatIssue(id, issueType, issuedBy, issuedTime, expireTime, reason);
                        issues.Add(id, chatIssue);
                    }
                }
            }
            catch (Exception e)
            {
                Out.QuickLog("load Issue with chat");
                Out.QuickLog(e);
            }
            return(issues);
        }
Пример #2
0
        public void Mute(string reason, DateTime expiry, int issuedBy = 0)
        {
            var issue = new ChatIssue(-1, ChatIssueTypes.MUTE, issuedBy, DateTime.Now, expiry, reason);

            MessageController.System(Player, "You've been muted by " + issue.GetIssuer().Name + " for " + reason + "\nExpires at: " + expiry);
            Chat.DatabaseManager.AddChatIssue(Player, issue);
        }
Пример #3
0
        public void Kick(string reason, int issuedBy = 0)
        {
            var issue = new ChatIssue(-1, ChatIssueTypes.KICK, issuedBy, DateTime.Now, DateTime.Now, reason);

            MessageController.System(Player, "You've been kicked by " + issue.GetIssuer().Name + " for " + reason);
            Chat.DatabaseManager.AddChatIssue(Player, issue);
            Close();
        }
Пример #4
0
 public static async Task Main()
 {
     //  DataTable table = AskCaro_console.CsvFile.DataTableExtensions.GetTable();
     //  table.WriteToCsvFile(DataSetLocation);
     //  TrainModel(DataSetLocation, DataSetLocation, MyTrainerStrategy.SdcaMultiClassTrainer);
     ChatIssue issue = new ChatIssue()
     {
         Question = "Thank you!", Answer = ""
     };
     var test = BuildModel(ModelPath, issue);
 }
Пример #5
0
        public static ChatIssuePrediction BuildModel(string ModelPath, ChatIssue issue)
        {
            Microsoft.ML.MLContext mlContext = new MLContext(seed: 1);
            ITransformer           trainedModel;

            using (FileStream stream = new FileStream(ModelPath, FileMode.Open, FileAccess.Read, FileShare.Read))
            {
                trainedModel = mlContext.Model.Load(stream);
            }
            var predEngine = trainedModel.CreatePredictionEngine <ChatIssue, ChatIssuePrediction>(mlContext);
            var prediction = predEngine.Predict(issue);

            return(prediction);
        }
Пример #6
0
 public void AddChatIssue(Player player, ChatIssue issue)
 {
     try
     {
         var userId = 0;
         userId = player.GetSession().GetEquivilentGameSession().Player.GlobalId;
         using (var mySqlClient = SqlDatabaseManager.GetClient())
         {
             mySqlClient.ExecuteNonQuery($"INSERT INTO player_chat_issues (USER_ID, PLAYER_ID, ISSUE_TYPE, ISSUED_BY, ISSUED_AT, EXPIRY, REASON) VALUES ('{userId}', '{player.Id}', '{Convert.ToInt32(issue.IssueType)}', '{issue.IssuedBy}', '{issue.IssuedAt:yyyy-MM-dd H:mm:ss}', '{issue.Expiry:yyyy-MM-dd H:mm:ss}', '{issue.Reason}')");
             player.Issues = LoadChatIssues(player);
         }
     }
     catch (Exception e)
     {
         Out.QuickLog("add Issue with chat exception");
         Out.QuickLog(e);
     }
 }