Exemple #1
0
 private uint FindPtsFromDialogs(List <IDialog> dialogs, string address)
 {
     foreach (var dialog in dialogs)
     {
         var dialogObj = dialog as Dialog;
         if (dialogObj != null)
         {
             if (TelegramUtils.GetPeerId(dialogObj.Peer) == address)
             {
                 return(dialogObj.Pts);
             }
         }
     }
     return(0);
 }
Exemple #2
0
        private List <VisualBubble> ConvertMessageToBubbles(List <IMessage> messages)
        {
            var bubbles = new List <VisualBubble>();

            foreach (var iMessage in messages)
            {
                var message        = iMessage as Message;
                var messageService = iMessage as MessageService;
                if (message != null)
                {
                    var messageBubbles = ProcessFullMessage(message, false);
                    var i = 0;
                    foreach (var bubble in messageBubbles)
                    {
                        if (bubble != null)
                        {
                            if (message.ReplyToMsgId != 0 && i == 0)//add quoted message only to the first bubble
                            {
                                var iReplyMessage = GetMessage(message.ReplyToMsgId, null, uint.Parse(TelegramUtils.GetPeerId(message.ToId)), message.ToId is PeerChannel);
                                DebugPrint(">>> got message " + ObjectDumper.Dump(iReplyMessage));
                                var replyMessage = iReplyMessage as Message;
                                AddQuotedMessageToBubble(replyMessage, bubble);
                            }
                            bubbles.Add(bubble);
                        }
                        i++;
                    }
                }
                if (messageService != null)
                {
                    _oldMessages = true;
                    var serviceBubbles = MakePartyInformationBubble(messageService, false, null);
                    if (serviceBubbles != null)
                    {
                        bubbles.AddRange(serviceBubbles);
                    }
                    _oldMessages = false;
                }
            }
            return(bubbles);
        }