예제 #1
0
        public static async Task <Comment> GetComment(int commentId, ImgurHttp imgurHttp)
        {
            string  url     = $"comment/{commentId}";
            Comment comment = await imgurHttp.MakeRequest <Comment>(url);

            return(comment);
        }
예제 #2
0
        public static async Task <Image> GetImage(string imageId, ImgurHttp imgurHttp)
        {
            string url = $"image/{imageId}";
            Image  img = await imgurHttp.MakeRequest <Image>(url);

            return(img);
        }
예제 #3
0
        public static async Task <int> GetAccountCommentCount(string username, ImgurHttp imgurHttp)
        {
            string url     = $"account/{username}/comments/count";
            var    request = await imgurHttp.GetAsync(url);

            // parsing it here because too lazy to make a whole object for this one thing
            var response = await request.Content.ReadAsStringAsync();

            JObject result = JObject.Parse(response);

            if (result.TryGetValue("data", out JToken count))
            {
                return((int)count);
            }
            return(-1);
        }
예제 #4
0
        public static async Task <bool> PostCommentReply(int parentCommentId, string imageId, string text, ImgurHttp imgurHttp)
        {
            string url = $"comment";

            return(await imgurHttp.PostComment(url, text, imageId, parentCommentId));
        }
예제 #5
0
        public static async Task <List <Comment> > GetAccountComments(string accountUsername, int limit, string sort, ImgurHttp imgurHttp)
        {
            string     url        = $"account/{accountUsername}/comments/ids/{sort}";
            List <int> commentIds = await imgurHttp.MakeRequest <List <int> >(url);

            List <Comment> comments = new List <Comment>();

            for (int i = 0; i < limit; i++)
            {
                comments.Add(await GetComment(commentIds[i], imgurHttp));
            }
            return(comments);
        }
예제 #6
0
        public static async Task <List <Comment> > GetCommentWithReplies(int commentId, ImgurHttp imgurHttp)
        {
            string         url      = $"comment/{commentId}/replies";
            List <Comment> comments = await imgurHttp.RequestReplies(url);

            return(comments);
        }
예제 #7
0
        public static async Task <GalleryObject[]> GetAccountSubmissions(string username, ImgurHttp imgurHttp)
        {
            string url = $"account/{username}/submissions";

            return(await imgurHttp.MakeRequest <GalleryObject[]>(url));
        }
예제 #8
0
        public static async Task <Account> GetAccount(string username, ImgurHttp imgurHttp)
        {
            string url = $"account/{username}";

            return(await imgurHttp.MakeRequest <Account>(url));
        }
예제 #9
0
        public static async Task <Gallery> GetGallery(string galleryId, ImgurHttp imgurHttp)
        {
            string url = $"gallery/{galleryId}";

            return(await imgurHttp.MakeRequest <Gallery>(url));
        }
예제 #10
0
        public static async Task <List <string> > GetAccountAlbumIds(string username, int page, ImgurHttp imgurHttp)
        {
            string url = $"account/{username}/albums/ids/{page}/newest";

            return(await imgurHttp.MakeRequest <List <string> >(url));
        }
예제 #11
0
        public static async Task <Album> CreateAlbumAsync(ImgurHttp imgurHttp)
        {
            string url = "album";

            return(await imgurHttp.CreateAlbumAsync(url));
        }
예제 #12
0
        public static async Task <Image> PostImageAnonymouslyAsync(string imageUrl, string albumHash, ImgurHttp imgurHttp)
        {
            string url = "upload";
            Image  img = await imgurHttp.PostImageAnonymouslyAsync(url, imageUrl, albumHash);

            return(img);
        }