Exemple #1
0
        public Message(SparkMessage message, IUser user, IGroup group, IBot bot) : base(message)
        {
            User        = user;
            Group       = group;
            Bot         = bot;
            MessageType = message.RoomType == "direct" ? MessageType.Private : MessageType.Group;
            Content     = message.Markdown ?? message.Text;
            TimeStamp   = message.Created;
            UserId      = message.PersonId;
            GroupId     = message.RoomId;
            MimeType    = "text";
            ContentType = ContentType.Text;

            if (!string.IsNullOrEmpty(message.Markdown))
            {
                ContentType |= ContentType.Markup;
            }

            if (!string.IsNullOrEmpty(message.Html))
            {
                ContentType |= ContentType.Rich;
            }

            if (message.Files != null &&
                message.Files.Length > 0)
            {
                ContentType |= ContentType.File;
            }
        }
        public void WriteMessage(Message msg)
        {
            string contraParty = System.Configuration.ConfigurationSettings.AppSettings[msg.Uin.ToString()];
            System.Xml.XmlDocument sparkXml = GetHistoryXMLFile(contraParty);

            SparkMessage sprkMsg = new SparkMessage();
            if (msg.Direction == MessageDirection.Received)
            {
                sprkMsg.From = contraParty;
                sprkMsg.To = "";
            }
            else
            {
                sprkMsg.From = "";
                sprkMsg.To = contraParty;
            }

            sprkMsg.TimeStamp = msg.Timestamp;

            switch (msg.Type)
            {
                case MessageType.Text:
                    sprkMsg.Message = msg.Text;
                    break;
                case MessageType.Url:
                    sprkMsg.Message = msg.Text + ": " + msg.Url;
                    break;
                case MessageType.Application:
                    sprkMsg.Message = (msg.Text.Length == 0 ? "Multi-user application started" : msg.Text) + ": " + msg.Application;
                    break;
                case MessageType.UserInfo:
                    sprkMsg.Message = string.Format("User added: {0}\r\nFirst name: {1}\r\nLast name: {2}\r\ne-Mail: {3}", msg.NickName, msg.FirstName, msg.LastName, msg.eMail);
                    break;
                case MessageType.Unknown1:
                    sprkMsg.Message = msg.Text;
                    break;
                default:
                    throw new Exception("Type not implemented.");
            }
        }
Exemple #3
0
 public MessageResponse(SparkMessage message) : base(message)
 {
     Message = message;
 }