public async Task ParseChatMessageHandler(ParseChatMessage message, Player player) { try { await player.Zone.OnChatMessage.InvokeAsync(player, message.Message); } catch { // Something went wrong with event } await using var ctx = new UchuContext(); var character = await ctx.Characters.Include(c => c.User).FirstAsync( c => c.Id == player.Id ); Console.WriteLine($"Message: {message.Message}"); if (message.Message.StartsWith('/')) { var response = await Server.HandleCommandAsync( message.Message, player, (GameMasterLevel)character.User.GameMasterLevel ); if (!string.IsNullOrWhiteSpace(response)) { player.SendChatMessage(response, PlayerChatChannel.Normal); } return; } if (((WorldServer)Server).Whitelist.CheckPhrase(message.Message).Any()) { return; } var transcript = new ChatTranscript { Author = character.Id, Message = message.Message, Receiver = 0, SentTime = DateTime.Now }; await ctx.ChatTranscript.AddAsync(transcript); await ctx.SaveChangesAsync(); foreach (var zonePlayer in player.Zone.Players) { zonePlayer.SendChatMessage(message.Message, PlayerChatChannel.Normal, player); } }
// END CUT HERE // BEGIN CUT HERE public static void Main() { try { ChatTranscript ___test = new ChatTranscript(); ___test.run_test(-1); } catch(Exception e) { //Console.WriteLine(e.StackTrace); Console.WriteLine(e.ToString()); } }