diff --git a/OF DL/Entities/Archived/Archived.cs b/OF DL/Entities/Archived/Archived.cs index 372f728..f5153d0 100644 --- a/OF DL/Entities/Archived/Archived.cs +++ b/OF DL/Entities/Archived/Archived.cs @@ -52,10 +52,38 @@ public class Drm public class Files { + public Full full { get; set; } + public Thumb thumb { get; set; } public Preview preview { get; set; } + public SquarePreview squarePreview { get; set; } public Drm drm { get; set; } } + public class Full + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + public List sources { get; set; } + } + + public class SquarePreview + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + + public class Thumb + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + public class Hls { [JsonProperty("CloudFront-Policy")] diff --git a/OF DL/Entities/Highlights/HighlightMedia.cs b/OF DL/Entities/Highlights/HighlightMedia.cs index 9591881..a40703b 100644 --- a/OF DL/Entities/Highlights/HighlightMedia.cs +++ b/OF DL/Entities/Highlights/HighlightMedia.cs @@ -1,4 +1,4 @@ -using Newtonsoft.Json; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -19,13 +19,22 @@ public class HighlightMedia public List stories { get; set; } public class Files { - public Source source { get; set; } - public Thumb thumb { get; set; } + public Full full { get; set; } + public Thumb thumb { get; set; } public Preview preview { get; set; } public SquarePreview squarePreview { get; set; } } - public class Medium + public class Full + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + public List sources { get; set; } + } + + public class Medium { public long id { get; set; } public string type { get; set; } diff --git a/OF DL/Entities/Messages/Messages.cs b/OF DL/Entities/Messages/Messages.cs index 0c0674d..1f17f70 100644 --- a/OF DL/Entities/Messages/Messages.cs +++ b/OF DL/Entities/Messages/Messages.cs @@ -29,12 +29,41 @@ public class Drm public Signature signature { get; set; } } - public class Files - { - public Drm drm { get; set; } - } - - public class FromUser + public class Files + { + public Full full { get; set; } + public Thumb thumb { get; set; } + public Preview preview { get; set; } + public SquarePreview squarePreview { get; set; } + public Drm drm { get; set; } + } + + public class Full + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + public List sources { get; set; } + } + + public class SquarePreview + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + + public class Thumb + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + + public class FromUser { public int? id { get; set; } public string _view { get; set; } diff --git a/OF DL/Entities/Post/Post.cs b/OF DL/Entities/Post/Post.cs index 408f395..f5230f5 100644 --- a/OF DL/Entities/Post/Post.cs +++ b/OF DL/Entities/Post/Post.cs @@ -44,10 +44,38 @@ public class Drm public class Files { + public Full full { get; set; } + public Thumb thumb { get; set; } public Preview preview { get; set; } + public SquarePreview squarePreview { get; set; } public Drm drm { get; set; } } + public class Full + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + public List sources { get; set; } + } + + public class SquarePreview + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + + public class Thumb + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + public class Hls { [JsonProperty("CloudFront-Policy")] diff --git a/OF DL/Entities/Post/SinglePost.cs b/OF DL/Entities/Post/SinglePost.cs index 036e471..e7d1c18 100644 --- a/OF DL/Entities/Post/SinglePost.cs +++ b/OF DL/Entities/Post/SinglePost.cs @@ -5,6 +5,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using static OF_DL.Entities.Post.Post; namespace OF_DL.Entities.Post { @@ -73,10 +74,38 @@ public class Author public class Files { + public Full full { get; set; } + public Thumb thumb { get; set; } public Preview preview { get; set; } + public SquarePreview squarePreview { get; set; } public Drm drm { get; set; } } + public class Full + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + public List sources { get; set; } + } + + public class SquarePreview + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + + public class Thumb + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + public class Info { public Source source { get; set; } diff --git a/OF DL/Entities/Stories/Stories.cs b/OF DL/Entities/Stories/Stories.cs index 74c5a2d..ae0e853 100644 --- a/OF DL/Entities/Stories/Stories.cs +++ b/OF DL/Entities/Stories/Stories.cs @@ -1,4 +1,4 @@ -using Newtonsoft.Json; +using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Linq; @@ -20,12 +20,21 @@ public class Stories public bool isLiked { get; set; } public class Files { - public Source source { get; set; } + public Full full { get; set; } public Thumb thumb { get; set; } public Preview preview { get; set; } public SquarePreview squarePreview { get; set; } } + public class Full + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + public List sources { get; set; } + } + public class Medium { public long id { get; set; } diff --git a/OF DL/Entities/Streams/Streams.cs b/OF DL/Entities/Streams/Streams.cs index cbbd1e8..cfc83b5 100644 --- a/OF DL/Entities/Streams/Streams.cs +++ b/OF DL/Entities/Streams/Streams.cs @@ -34,10 +34,38 @@ public class Counters public class Files { + public Full full { get; set; } + public Thumb thumb { get; set; } public Preview preview { get; set; } + public SquarePreview squarePreview { get; set; } public Drm drm { get; set; } } + public class Full + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + public List sources { get; set; } + } + + public class SquarePreview + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + + public class Thumb + { + public string url { get; set; } + public int width { get; set; } + public int height { get; set; } + public int size { get; set; } + } + public class Info { public Source source { get; set; } diff --git a/OF DL/Helpers/APIHelper.cs b/OF DL/Helpers/APIHelper.cs index 31d9de2..44915ce 100644 --- a/OF DL/Helpers/APIHelper.cs +++ b/OF DL/Helpers/APIHelper.cs @@ -539,7 +539,7 @@ public async Task> GetMedia(MediaType mediatype, { foreach (Stories.Medium medium in story.media) { - await m_DBHelper.AddMedia(folder, medium.id, story.id, medium.files.source.url, null, null, null, "Stories", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), false, false, null); + await m_DBHelper.AddMedia(folder, medium.id, story.id, medium.files.full.url, null, null, null, "Stories", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), false, false, null); if (medium.type == "photo" && !config.DownloadImages) { continue; @@ -556,11 +556,11 @@ public async Task> GetMedia(MediaType mediatype, { continue; } - if (medium.canView && !medium.files.source.url.Contains("upload")) + if (medium.canView && !medium.files.full.url.Contains("upload")) { if (!return_urls.ContainsKey(medium.id)) { - return_urls.Add(medium.id, medium.files.source.url); + return_urls.Add(medium.id, medium.files.full.url); } } } @@ -625,11 +625,11 @@ public async Task> GetMedia(MediaType mediatype, foreach (HighlightMedia.Story item in highlightMedia.stories) { await m_DBHelper.AddStory(folder, item.id, string.Empty, "0", false, false, item.createdAt); - if (item.media.Count > 0 && !item.media[0].files.source.url.Contains("upload")) + if (item.media.Count > 0 && !item.media[0].files.full.url.Contains("upload")) { foreach (HighlightMedia.Medium medium in item.media) { - await m_DBHelper.AddMedia(folder, medium.id, item.id, item.media[0].files.source.url, null, null, null, "Stories", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), false, false, null); + await m_DBHelper.AddMedia(folder, medium.id, item.id, item.media[0].files.full.url, null, null, null, "Stories", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), false, false, null); if (medium.type == "photo" && !config.DownloadImages) { continue; @@ -648,7 +648,7 @@ public async Task> GetMedia(MediaType mediatype, } if (!return_urls.ContainsKey(medium.id)) { - return_urls.Add(medium.id, item.media[0].files.source.url); + return_urls.Add(medium.id, item.media[0].files.full.url); } } } @@ -767,13 +767,12 @@ public async Task GetPaidPosts(string endpoint, string folde if (previewids.Count > 0) { bool has = previewids.Any(cus => cus.Equals(medium.id)); - if (!has && medium.canView && medium.source != null && medium.source.source != null && !medium.source.source.Contains("upload")) + if (!has && medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { - if (!paidPostCollection.PaidPosts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, purchase.id, medium.source.source, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); - paidPostCollection.PaidPosts.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(folder, medium.id, purchase.id, medium.files.full.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); + paidPostCollection.PaidPosts.Add(medium.id, medium.files.full.url); paidPostCollection.PaidPostMedia.Add(medium); } } @@ -791,12 +790,12 @@ public async Task GetPaidPosts(string endpoint, string folde } else { - if (medium.canView && medium.source != null && medium.source.source != null && !medium.source.source.Contains("upload")) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (!paidPostCollection.PaidPosts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, purchase.id, medium.source.source, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); - paidPostCollection.PaidPosts.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(folder, medium.id, purchase.id, medium.files.full.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); + paidPostCollection.PaidPosts.Add(medium.id, medium.files.full.url); paidPostCollection.PaidPostMedia.Add(medium); } } @@ -952,26 +951,26 @@ public async Task GetPosts(string endpoint, string folder, IDown if (medium.canView && medium.files?.drm == null) { bool has = paid_post_ids.Any(cus => cus.Equals(medium.id)); - if (medium.source.source != null) + if (medium.files!.full != null && !string.IsNullOrEmpty(medium.files!.full.url)) { - if (!has && !medium.source.source.Contains("upload")) + if (!has && !medium.files!.full.url.Contains("upload")) { if (!postCollection.Posts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, post.id, medium.source.source, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), postPreviewIds.Contains((long)medium.id) ? true : false, false, null); - postCollection.Posts.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(folder, medium.id, post.id, medium.files!.full.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), postPreviewIds.Contains((long)medium.id) ? true : false, false, null); + postCollection.Posts.Add(medium.id, medium.files!.full.url); postCollection.PostMedia.Add(medium); } } } - else if (medium.preview != null && medium.source.source == null) + else if (medium.files.preview != null && medium.files!.full == null) { - if (!has && !medium.preview.Contains("upload")) + if (!has && !medium.files.preview.url.Contains("upload")) { if (!postCollection.Posts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, post.id, medium.preview, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), postPreviewIds.Contains((long)medium.id) ? true : false, false, null); - postCollection.Posts.Add(medium.id, medium.preview); + await m_DBHelper.AddMedia(folder, medium.id, post.id, medium.files.preview.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), postPreviewIds.Contains((long)medium.id) ? true : false, false, null); + postCollection.Posts.Add(medium.id, medium.files.preview.url); postCollection.PostMedia.Add(medium); } } @@ -1065,26 +1064,26 @@ public async Task GetPost(string endpoint, string folder, } if (medium.canView && medium.files?.drm == null) { - if (medium.source.source != null) + if (medium.files!.full != null && !string.IsNullOrEmpty(medium.files!.full.url)) { - if (!medium.source.source.Contains("upload")) + if (!medium.files!.full.url.Contains("upload")) { if (!singlePostCollection.SinglePosts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, singlePost.id, medium.source.source, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), postPreviewIds.Contains((long)medium.id) ? true : false, false, null); - singlePostCollection.SinglePosts.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(folder, medium.id, singlePost.id, medium.files!.full.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), postPreviewIds.Contains((long)medium.id) ? true : false, false, null); + singlePostCollection.SinglePosts.Add(medium.id, medium.files!.full.url); singlePostCollection.SinglePostMedia.Add(medium); } } } - else if (medium.preview != null && medium.source.source == null) + else if (medium.files.preview != null && medium.files!.full == null) { - if (!medium.preview.Contains("upload")) + if (!medium.files.preview.url.Contains("upload")) { if (!singlePostCollection.SinglePosts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, singlePost.id, medium.preview, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), postPreviewIds.Contains((long)medium.id) ? true : false, false, null); - singlePostCollection.SinglePosts.Add(medium.id, medium.preview); + await m_DBHelper.AddMedia(folder, medium.id, singlePost.id, medium.files.preview.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), postPreviewIds.Contains((long)medium.id) ? true : false, false, null); + singlePostCollection.SinglePosts.Add(medium.id, medium.files.preview.url); singlePostCollection.SinglePostMedia.Add(medium); } } @@ -1220,12 +1219,12 @@ public async Task GetStreams(string endpoint, string folder, if (medium.canView && medium.files?.drm == null) { bool has = paid_post_ids.Any(cus => cus.Equals(medium.id)); - if (!has && !medium.source.source.Contains("upload")) + if (!has && medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (!streamsCollection.Streams.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, stream.id, medium.source.source, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), streamPreviewIds.Contains((long)medium.id) ? true : false, false, null); - streamsCollection.Streams.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(folder, medium.id, stream.id, medium.files.full.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), streamPreviewIds.Contains((long)medium.id) ? true : false, false, null); + streamsCollection.Streams.Add(medium.id, medium.files.full.url); streamsCollection.StreamMedia.Add(medium); } } @@ -1359,12 +1358,12 @@ public async Task GetArchived(string endpoint, string folder { continue; } - if (medium.canView && medium.files?.drm == null && !medium.source.source.Contains("upload")) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (!archivedCollection.ArchivedPosts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, archive.id, medium.source.source, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); - archivedCollection.ArchivedPosts.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(folder, medium.id, archive.id, medium.files.full.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); + archivedCollection.ArchivedPosts.Add(medium.id, medium.files.full.url); archivedCollection.ArchivedPostMedia.Add(medium); } } @@ -1460,7 +1459,7 @@ public async Task GetMessages(string endpoint, string folder, { foreach (Messages.Medium medium in list.media) { - if (medium.canView && medium.source.source != null && !medium.source.source.Contains("upload")) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (medium.type == "photo" && !config.DownloadImages) { @@ -1480,8 +1479,8 @@ public async Task GetMessages(string endpoint, string folder, } if (!messageCollection.Messages.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, list.id, medium.source.source, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), messagePreviewIds.Contains(medium.id) ? true : false, false, null); - messageCollection.Messages.Add(medium.id, medium.source.source.ToString()); + await m_DBHelper.AddMedia(folder, medium.id, list.id, medium.files.full.url, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), messagePreviewIds.Contains(medium.id) ? true : false, false, null); + messageCollection.Messages.Add(medium.id, medium.files.full.url); messageCollection.MessageMedia.Add(medium); } } @@ -1516,7 +1515,7 @@ public async Task GetMessages(string endpoint, string folder, { foreach (Messages.Medium medium in list.media) { - if (medium.canView && medium.source.source != null && !medium.source.source.Contains("upload") && messagePreviewIds.Contains(medium.id)) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload") && messagePreviewIds.Contains(medium.id)) { if (medium.type == "photo" && !config.DownloadImages) { @@ -1536,8 +1535,8 @@ public async Task GetMessages(string endpoint, string folder, } if (!messageCollection.Messages.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, list.id, medium.source.source, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), messagePreviewIds.Contains(medium.id) ? true : false, false, null); - messageCollection.Messages.Add(medium.id, medium.source.source.ToString()); + await m_DBHelper.AddMedia(folder, medium.id, list.id, medium.files.full.url, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), messagePreviewIds.Contains(medium.id) ? true : false, false, null); + messageCollection.Messages.Add(medium.id, medium.files.full.url); messageCollection.MessageMedia.Add(medium); } } @@ -1622,7 +1621,7 @@ public async Task GetPaidMessage(string endpoint, s { foreach (Messages.Medium medium in message.media) { - if (medium.canView && medium.source.source != null && !medium.source.source.Contains("upload")) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (medium.type == "photo" && !config.DownloadImages) { @@ -1643,8 +1642,8 @@ public async Task GetPaidMessage(string endpoint, s if (!singlePaidMessageCollection.SingleMessages.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, message.id, medium.source.source, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), messagePreviewIds.Contains(medium.id) ? true : false, false, null); - singlePaidMessageCollection.SingleMessages.Add(medium.id, medium.source.source.ToString()); + await m_DBHelper.AddMedia(folder, medium.id, message.id, medium.files.full.url, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), messagePreviewIds.Contains(medium.id) ? true : false, false, null); + singlePaidMessageCollection.SingleMessages.Add(medium.id, medium.files.full.url.ToString()); singlePaidMessageCollection.SingleMessageMedia.Add(medium); } } @@ -1680,7 +1679,7 @@ public async Task GetPaidMessage(string endpoint, s { foreach(Messages.Medium medium in message.media) { - if (medium.canView && medium.source.source != null && !medium.source.source.Contains("upload") && messagePreviewIds.Contains(medium.id)) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && messagePreviewIds.Contains(medium.id)) { if (medium.type == "photo" && !config.DownloadImages) { @@ -1700,8 +1699,8 @@ public async Task GetPaidMessage(string endpoint, s } if (!singlePaidMessageCollection.SingleMessages.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, message.id, medium.source.source, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), messagePreviewIds.Contains(medium.id) ? true : false, false, null); - singlePaidMessageCollection.SingleMessages.Add(medium.id, medium.source.source.ToString()); + await m_DBHelper.AddMedia(folder, medium.id, message.id, medium.files.full.url, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), messagePreviewIds.Contains(medium.id) ? true : false, false, null); + singlePaidMessageCollection.SingleMessages.Add(medium.id, medium.files.full.url); singlePaidMessageCollection.SingleMessageMedia.Add(medium); } } @@ -1842,7 +1841,7 @@ public async Task GetPaidMessages(string endpoint, string if (previewids.Count > 0) { bool has = previewids.Any(cus => cus.Equals(medium.id)); - if (!has && medium.canView && medium.source != null && medium.source.source != null && !medium.source.source.Contains("upload")) + if (!has && medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (medium.type == "photo" && !config.DownloadImages) { @@ -1862,8 +1861,8 @@ public async Task GetPaidMessages(string endpoint, string } if (!paidMessageCollection.PaidMessages.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, purchase.id, medium.source.source, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); - paidMessageCollection.PaidMessages.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(folder, medium.id, purchase.id, medium.files.full.url, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); + paidMessageCollection.PaidMessages.Add(medium.id, medium.files.full.url); paidMessageCollection.PaidMessageMedia.Add(medium); } } @@ -1895,7 +1894,7 @@ public async Task GetPaidMessages(string endpoint, string } else { - if (medium.canView && medium.source != null && medium.source.source != null && !medium.source.source.Contains("upload")) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (medium.type == "photo" && !config.DownloadImages) { @@ -1915,8 +1914,8 @@ public async Task GetPaidMessages(string endpoint, string } if (!paidMessageCollection.PaidMessages.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(folder, medium.id, purchase.id, medium.source.source, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); - paidMessageCollection.PaidMessages.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(folder, medium.id, purchase.id, medium.files.full.url, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); + paidMessageCollection.PaidMessages.Add(medium.id, medium.files.full.url); paidMessageCollection.PaidMessageMedia.Add(medium); } } @@ -2264,13 +2263,13 @@ public async Task> GetPurchasedTab(string endpoint, if (previewids.Count > 0) { bool has = previewids.Any(cus => cus.Equals(medium.id)); - if (!has && medium.canView && medium.source != null && medium.source.source != null && !medium.source.source.Contains("upload")) + if (!has && medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (!purchasedTabCollection.PaidPosts.PaidPosts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(path, medium.id, purchase.id, medium.source.source, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); - purchasedTabCollection.PaidPosts.PaidPosts.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(path, medium.id, purchase.id, medium.files.full.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); + purchasedTabCollection.PaidPosts.PaidPosts.Add(medium.id, medium.files.full.url); purchasedTabCollection.PaidPosts.PaidPostMedia.Add(medium); } } @@ -2288,12 +2287,12 @@ public async Task> GetPurchasedTab(string endpoint, } else { - if (medium.canView && medium.source != null && medium.source.source != null && !medium.source.source.Contains("upload")) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (!purchasedTabCollection.PaidPosts.PaidPosts.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(path, medium.id, purchase.id, medium.source.source, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); - purchasedTabCollection.PaidPosts.PaidPosts.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(path, medium.id, purchase.id, medium.files.full.url, null, null, null, "Posts", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), previewids.Contains(medium.id) ? true : false, false, null); + purchasedTabCollection.PaidPosts.PaidPosts.Add(medium.id, medium.files.full.url); purchasedTabCollection.PaidPosts.PaidPostMedia.Add(medium); } } @@ -2348,7 +2347,7 @@ public async Task> GetPurchasedTab(string endpoint, if (paidMessagePreviewids.Count > 0) { bool has = paidMessagePreviewids.Any(cus => cus.Equals(medium.id)); - if (!has && medium.canView && medium.source != null && medium.source.source != null && !medium.source.source.Contains("upload")) + if (!has && medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (medium.type == "photo" && !config.DownloadImages) { @@ -2368,8 +2367,8 @@ public async Task> GetPurchasedTab(string endpoint, } if (!purchasedTabCollection.PaidMessages.PaidMessages.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(path, medium.id, purchase.id, medium.source.source, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), paidMessagePreviewids.Contains(medium.id) ? true : false, false, null); - purchasedTabCollection.PaidMessages.PaidMessages.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(path, medium.id, purchase.id, medium.files.full.url, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), paidMessagePreviewids.Contains(medium.id) ? true : false, false, null); + purchasedTabCollection.PaidMessages.PaidMessages.Add(medium.id, medium.files.full.url); purchasedTabCollection.PaidMessages.PaidMessageMedia.Add(medium); } } @@ -2401,7 +2400,7 @@ public async Task> GetPurchasedTab(string endpoint, } else { - if (medium.canView && medium.source != null && medium.source.source != null && !medium.source.source.Contains("upload")) + if (medium.canView && medium.files != null && medium.files.full != null && !string.IsNullOrEmpty(medium.files.full.url) && !medium.files.full.url.Contains("upload")) { if (medium.type == "photo" && !config.DownloadImages) { @@ -2421,8 +2420,8 @@ public async Task> GetPurchasedTab(string endpoint, } if (!purchasedTabCollection.PaidMessages.PaidMessages.ContainsKey(medium.id)) { - await m_DBHelper.AddMedia(path, medium.id, purchase.id, medium.source.source, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), paidMessagePreviewids.Contains(medium.id) ? true : false, false, null); - purchasedTabCollection.PaidMessages.PaidMessages.Add(medium.id, medium.source.source); + await m_DBHelper.AddMedia(path, medium.id, purchase.id, medium.files.full.url, null, null, null, "Messages", medium.type == "photo" ? "Images" : (medium.type == "video" || medium.type == "gif" ? "Videos" : (medium.type == "audio" ? "Audios" : null)), paidMessagePreviewids.Contains(medium.id) ? true : false, false, null); + purchasedTabCollection.PaidMessages.PaidMessages.Add(medium.id, medium.files.full.url); purchasedTabCollection.PaidMessages.PaidMessageMedia.Add(medium); } }