public void AddAndFilterMessages(List <TLMessage> msgs)
 {
     try
     {
         Regex           reg = new Regex(@"https\:\/\/[www\.]*instagram\.com\/p\/[\w-]+[\/]*"); // regex linku do zdjecia
         MatchCollection matches;
         foreach (TLMessage msg in msgs)
         {
             if (msg.Media != null)
             {
                 if (msg.Media is TLMessageMediaWebPage)
                 {
                     TLMessageMediaWebPage mm = (TLMessageMediaWebPage)msg.Media;
                     if (mm is TLMessageMediaWebPage)
                     {
                         TLWebPage wp = mm.Webpage as TLWebPage;
                         if (wp is TLWebPage)
                         {
                             matches = reg.Matches(wp.Url);
                             if (matches.Count == 1)
                             {
                                 filtered_messages.Add(msg);
                             }
                             else
                             {
                                 System.Diagnostics.Debug.Write($"\nNie znaleziono jednoznacznego przyporządkowania dla wiadomości o URL = {wp.Url}");
                             }
                         }
                         else
                         {
                             System.Diagnostics.Debug.Write($"\nmm.WebPage nie jest typu TLWebPage, tylko {msg.Media.GetType().ToString()}");
                         }
                     }
                     else
                     {
                         System.Diagnostics.Debug.Write($"\nmsg.Media nie jest typu TLMessageMediaWebPage, tylko {msg.Media.GetType().ToString()}");
                     }
                 }
                 else
                 {
                     System.Diagnostics.Debug.Write("\nMedia != null, ale tonie WebPage, tylko " + msg.Media.GetType().ToString());
                 }
             }
         }
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.Write("Filtrowanie wiadomosci telegrama nie powiodlo sie: " + ex.Message.ToString());
     }
 }
Exemple #2
0
        protected string ExportLink(TLMessageMediaWebPage media)
        {
            if (media.webpage is TLWebPage)
            {
                return(((TLWebPage)media.webpage).url);
            }

            else if (media.webpage is TLWebPageEmpty)
            {
                return("");
            }

            else
            {
                throw new TLCoreException("The web page is not an instance of TLWebPage or TLWebPageEmpty");
            }
        }
        public List <InstagramPost> CreatePostsFromMessages()
        {
            List <InstagramPost> insta_posts = new List <InstagramPost>();

            System.Diagnostics.Debug.Write("Krok 4.1: Wchodze do foreach\n");
            foreach (var msg in filtered_messages)
            {
                System.Diagnostics.Debug.Write("Krok 4.2: We foreach\n");
                InstagramPost         tmp_post = new InstagramPost();
                TLMessageMediaWebPage wp       = (TLMessageMediaWebPage)msg.Media;
                TLWebPage             webPage  = (TLWebPage)wp.Webpage;
                System.Diagnostics.Debug.Write("Krok 4.3: Webpage gotowe\n");
                Regex           reg = new Regex(@"https\:\/\/[www\.]*instagram\.com\/p\/[\w-]+[\/]*"); // regex linku do zdjecia
                MatchCollection matches;
                matches = reg.Matches(webPage.Url);
                System.Diagnostics.Debug.Write("Krok 4.4: Sprawdzam czy znaleziono odwzorowanie\n");
                if (matches.Count > 0)
                {
                    System.Diagnostics.Debug.Write("Krok 4.5: Znaleziono odwzorowanie (msg.Date = " + msg.Date.ToString() + ")\n");
                    if (tmp_post.SetTelegramInfo(matches[0].Value, msg.Message, (long)msg.Date))
                    {
                        System.Diagnostics.Debug.Write("Krok 4.5: Znaleziono odwzorowanie (msg.Date = " + msg.Date.ToString() + ")\n");
                        insta_posts.Add(tmp_post);
                        System.Diagnostics.Debug.Write("Krok 4.6: Dodano post do insta_posts\n");
                    }
                    else
                    {
                        System.Diagnostics.Debug.Write("Krok 4.5: Nie udalo sie dodac Telegram Data\n");
                    }
                }
                else
                {
                    System.Diagnostics.Debug.Write("\nPomijam " + webPage.Url);
                }
            }

            return(insta_posts);
        }