Beispiel #1
0
        /// <summary>
        /// コメントデータを取得する
        /// </summary>
        private async Task <List <ComApi.CommentBody.Json.JsonComment> > GetCommentData(WatchPage::BaseJson data, int?_when = null)
        {
            var logger     = NicoLogger.GetLogger();
            var serializer = new CommentSerializer();
            var chandler   = new CommentHandller();

            List <ComApi.RequestItems> comRequest = GetCommentRequest(data, _when);

            //コメントを取得する
            logger.Debug("コメントの取得を開始", moduleName);
            HttpClient client  = context.NicoClient.Client;
            var        comBody = await client.PostAsync(new Uri(@"http://nmsg.nicovideo.jp/api.json/"), new StringContent(serializer.SerializeJson(comRequest)));

            //エラーハンドリング
            if (!comBody.IsSuccessStatusCode)
            {
                throw new Exception($"コメントの取得に失敗しました。 (status_code: {(int)comBody.StatusCode})");
            }
            else
            {
                logger.Debug($"コメントデータの取得が完了", moduleName);
            }

            //取得したコメントをデシリアライズ
            string comJson = await comBody.Content.ReadAsStringAsync();

            return(serializer.DeserializeJson <List <ComApi.CommentBody.Json.JsonComment> >(comJson));
        }
Beispiel #2
0
        /// <summary>
        /// 最初のコメントを取得する
        /// </summary>
        /// <returns></returns>
        public ComApi::CommentBody.Json.Chat GetFirstComment()
        {
            var handler = new CommentHandller();

            return(handler.GetFirstComment(this.Comments));
        }