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()); } }
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); }