public static void HandleChatClientPrivateMessage(WorldClient client, ChatClientPrivateMessage message)
        {
            if (!string.IsNullOrEmpty(message.content))
            {
                Character character = Singleton <World> .Instance.GetCharacter(message.receiver);

                if (character != null)
                {
                    if (client.Character.IsMuted())
                    {
                        client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 123, new object[]
                        {
                            (int)client.Character.GetMuteRemainingTime().TotalSeconds
                        });
                    }
                    else
                    {
                        if (client.Character != character)
                        {
                            if (!character.IsAway)
                            {
                                if (client.Character.IsAway)
                                {
                                    client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_MESSAGE, 72, new object[0]);
                                }
                                ChatHandler.SendChatServerCopyMessage(client, character, character, ChatActivableChannelsEnum.PSEUDO_CHANNEL_PRIVATE, message.content);
                                ChatHandler.SendChatServerMessage(character.Client, client.Character, ChatActivableChannelsEnum.PSEUDO_CHANNEL_PRIVATE, message.content);
                                BsonDocument document = new BsonDocument
                                {
                                    {
                                        "SenderId",
                                        client.Character.Id
                                    },

                                    {
                                        "ReceiverId",
                                        character.Id
                                    },

                                    {
                                        "Message",
                                        message.content
                                    },

                                    {
                                        "Date",
                                        System.DateTime.Now.ToString(System.Globalization.CultureInfo.InvariantCulture)
                                    }
                                };
                                Singleton <MongoLogger> .Instance.Insert("PrivateMSG", document);
                            }
                            else
                            {
                                client.Character.SendInformationMessage(TextInformationTypeEnum.TEXT_INFORMATION_ERROR, 14, new object[]
                                {
                                    character.Name
                                });
                            }
                        }
                        else
                        {
                            ChatHandler.SendChatErrorMessage(client, ChatErrorEnum.CHAT_ERROR_INTERIOR_MONOLOGUE);
                        }
                    }
                }
                else
                {
                    ChatHandler.SendChatErrorMessage(client, ChatErrorEnum.CHAT_ERROR_RECEIVER_NOT_FOUND);
                }
            }
        }
 public static void SendChatAdminServerMessage(IPacketReceiver client, Character sender, ChatActivableChannelsEnum channel, string message, int timestamp, string fingerprint)
 {
     ChatHandler.SendChatAdminServerMessage(client, channel, message, timestamp, fingerprint, sender.Id, sender.Name, sender.Account.Id);
 }
 public static void SendChatServerCopyMessage(IPacketReceiver client, Character sender, Character receiver, ChatActivableChannelsEnum channel, string message)
 {
     ChatHandler.SendChatServerCopyMessage(client, sender, receiver, channel, message, System.DateTime.Now.GetUnixTimeStamp(), "");
 }
 public static void SendChatServerMessage(IPacketReceiver client, string message)
 {
     ChatHandler.SendChatServerMessage(client, ChatActivableChannelsEnum.PSEUDO_CHANNEL_INFO, message, System.DateTime.Now.GetUnixTimeStamp(), "", 0, "", 0);
 }