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); }
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); }
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(); }
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); }
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); }
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); } }