Пример #1
0
        public ServerMessage Handle(T handler)
        {
            ServerMessage message = BasicUtilies.GetRevisionServerMessage(Revision.PRODUCTION_201601012205_226667486, r63cOutgoing.ReceiveWhisper);

            message.AppendInt32(handler.SenderVirtualID);

            List <string> links = new List <string>();

            if (TextUtilies.ContainsLink(handler.Message))
            {
                string message_ = "";
                foreach (string word in handler.Message.Split(' '))
                {
                    if (TextUtilies.ValidURL(word))
                    {
                        links.Add(word);

                        message_ += " {" + (links.Count - 1) + "}";
                    }
                    else
                    {
                        message_ += " " + word;
                    }
                }

                message.AppendString(message_);
            }
            else
            {
                message.AppendString(handler.Message);
            }

            message.AppendInt32(RoomUnit.GetGesture(handler.Message));
            message.AppendInt32(handler.ChatColor);
            message.AppendInt32(links.Count);
            for (int i = 0; i < links.Count; i++)
            {
                string link = links[i];

                message.AppendString("/redirect.php?url=" + link); //link
                message.AppendString(link);                        //msg shown
                message.AppendBoolean(true);                       //trusted, can be clicked and opened, unused
            }
            message.AppendInt32(-1);
            return(message);
        }