Ejemplo n.º 1
0
        private void AddMsg(TlMessage message, Stack <Message> messages, string senderName)
        {
            var    msg  = _ioc.Resolve <Message>();
            string text = message.GetTextMessage();

            msg.FillValues(senderName, text, message.TimeUnixToWindows(true));
            messages.Push(msg);
        }
Ejemplo n.º 2
0
        public static string GetTextMessage(this TlMessage message)
        {
            string text = String.Empty;

            if (message.Media != null)
            {
                switch (message.Media)
                {
                case TlMessageMediaDocument document:
                    text = $"{(document.Document as TlDocument).Attributes.Lists.OfType<TlDocumentAttributeFilename>().FirstOrDefault().FileName} {document.Caption}";
                    break;

                case TlMessageMediaPhoto photo:
                    text = $"[Photo] {photo.Caption}";
                    break;
                }
            }
            else
            {
                text = message.Message;
            }

            return(text);
        }
Ejemplo n.º 3
0
        public static int GetSenderId(this TlMessage tlMessage)
        {
            int id = tlMessage.FromId ?? -1;

            if (id == -1)
            {
                var receiver = tlMessage.ToId;
                switch (receiver)
                {
                case TlPeerChannel channel:
                    id = channel.ChannelId;
                    break;

                case TlPeerChat chat:
                    id = chat.ChatId;
                    break;

                case TlPeerUser user:
                    id = user.UserId;
                    break;
                }
            }
            return(id);
        }
Ejemplo n.º 4
0
 public static DateTime TimeUnixToWindows(this TlMessage message, bool isLocal)
 {
     return(DateTimeService.TimeUnixToWindows(message.Date, isLocal));
 }