Exemplo n.º 1
0
Arquivo: Viber.cs Projeto: frksks/SCV
        public IEnumerable<Message> GetMessages(string username, long conversationId, DateTime dtFrom, DateTime dtTo)
        {
            //first we need set to which db we want to connect
            ViberDA.SetDbPath(ViberPaths.GetPath(username));

            List<ViberMessage> viberMessages = ViberDA.GetMessages(username, conversationId, dtFrom, dtTo);

            List<Message> messages = new List<Message>();
            foreach (var item in viberMessages)
            {
                Message m = new Message();
                m.MessengerType = MessengerType.Viber;
                m.Username = username;
                m.ConversationId = conversationId.ToString();

                m.Timestamp = item.Timestamp;
                m.Identity = item.Number;

                //set author
                string author = string.Empty;

                if (!string.IsNullOrEmpty(item.Name))
                    author = item.Name;

                // Note: In viber database, empty value is marked with string '<EmptyValue>.'
                if (item.ClientName != "<EmptyValue>." && !string.IsNullOrEmpty(item.ClientName))
                    author = string.IsNullOrEmpty(author) ? item.ClientName : $"{author} {item.ClientName}";

                if (string.IsNullOrEmpty(author))
                    author = item.Number;

                m.Author = author;

                //set message text
                string content = string.Empty;

                if (!string.IsNullOrEmpty(item.Body))
                    m.Content = item.Body;
                else if (!string.IsNullOrEmpty(item.PayloadPath))
                    m.Content = $"<<PAYLOAD: {item.PayloadPath} >>";
                else if (!string.IsNullOrEmpty(item.ThumbnailPath))
                    m.Content = $"<<THUMBNAIL: {item.ThumbnailPath} >>";
                else if (item.StickerId != 0)
                    m.Content = $"<<Sticker: {item.ThumbnailPath} >>";
                else
                    m.Content = $"<<UNKNOWN ACTION: {item.EventId} >>";

                messages.Add(m);

            }

            return messages;
        }
Exemplo n.º 2
0
Arquivo: Skype.cs Projeto: frksks/SCV
        public IEnumerable<Message> GetMessages(string username, long conversationId, DateTime dtFrom, DateTime dtTo)
        {
            //first we need set to which db we want to connect
            SkypeDA.SetDbPath(SkypePaths.GetPath(username));

            List<SkypeMessage> sMessages = SkypeDA.GetMessages(conversationId, dtFrom, dtTo);

            List<Message> messages = new List<Message>();
            foreach (SkypeMessage skypeMessage in sMessages)
            {
                Message message = new Message();

                message.MessengerType = MessengerType.Skype;
                message.ConversationId = conversationId.ToString();

                message.Username = username;
                message.Identity = skypeMessage.author;
                message.Author = string.IsNullOrEmpty(skypeMessage.from_dispname) ? skypeMessage.author : skypeMessage.from_dispname;

                message.Id = skypeMessage.Id;
                message.Timestamp = skypeMessage.timestamp;

                message.Content = skypeMessage.body_xml;

                messages.Add(message);
            }

            return messages;
        }