public override void Execute(string commandArgs) { var splittedCommand = commandArgs.Trim().Split(' '); if (splittedCommand.Length == 2) { var playerName = splittedCommand[0]; var client = ClientRetriever.GetAuthenticatedClients().FirstOrDefault(p => p.PlayerName == playerName); if (client != null) { var newMessageData = new ChatPrivateMsgData { From = GeneralSettings.SettingsStore.ConsoleIdentifier, To = client.PlayerName, Text = commandArgs.Substring(client.PlayerName.Length + 1) }; MessageQueuer.SendToClient <ChatSrvMsg>(client, newMessageData); } else { LunaLog.Normal("Player not found!"); } } }
public void HandlePrivateMessage(ClientStructure client, ChatPrivateMsgData message) { if (message.To != GeneralSettings.SettingsStore.ConsoleIdentifier) { var findClient = ClientRetriever.GetClientByName(message.To); if (findClient != null) { MessageQueuer.SendToClient <ChatSrvMsg>(client, message); //Send it to the sender MessageQueuer.SendToClient <ChatSrvMsg>(findClient, message); //Send it to destination LunaLog.ChatMessage($"{message.From} -> @{message.To}: {message.Text}"); } else { LunaLog.ChatMessage($"{message.From} -X-> @{message.To}: {message.Text}"); } } else { //Send it to the sender only as we as server already received it MessageQueuer.SendToClient <ChatSrvMsg>(client, message); LunaLog.ChatMessage($"{message.From} -> @{message.To}: {message.Text}"); } }