示例#1
0
        protected override Task <TwitterPublishRecord> DoPublishAsync(TwitterPublishRecord record, IContentItem entity,
                                                                      Site site,
                                                                      TwitterPublishConfig config)
        {
            var text = ConstructText(entity, site, config.Tags);

            var tweetId = _twitterService.CreateTweet(text, config.Config);

            if (tweetId == 0)
            {
                throw new Exception($"Can't create tweet for item {entity.Title} ({entity.Id.ToString()})");
            }

            record.TweetId = tweetId;

            return(Task.FromResult(record));
        }
示例#2
0
        /// <summary>
        /// エントリーポイント
        /// WebAPI接続の関係で非同期エントリーポイントとしている
        /// </summary>
        /// <param name="args"></param>
        /// <returns></returns>
        public static async Task Main(string[] args)
        {
            CreateMapping();
            TwitterService twitter = new TwitterService();

            try
            {
                // コマンドライン引数で西暦年が入力されたらその年を使用、入力されなかったら現在の西暦年を使用
                int year = args?.Length > 0 && int.TryParse(args[0], out int inputYear)
                    ? inputYear
                    : DateTime.Now.Year
                ;
                Mlb.Param mlbParam = new Mlb.Param()
                {
                    Year = year
                };
                // MLB順位データの受け取り
                MlbService mlb       = new MlbService();
                Result     mlbResult = await mlb.GetStandingData(mlbParam);

                // Mlbクラスの戻り値用クラスからTwitterクラスの引数用クラスへMapping
                Twitter.Param twitterParam = MapToTwitterParam(mlbResult.ResultTeamList);
                // リーグ・地区ごとに順位をツイート
                twitter.CreateTweet(twitterParam);
            }
            // TODO:例外発生時のログ出力
            catch (TwitterException e)
            {
                // CoreTweetに関するエラー。
                Console.WriteLine(e.Message);
            }
            catch (Exception e)
            {
                Console.WriteLine(e.ToString());
                // 接続エラー発生時にエラーメッセージをツイート
                twitter.ExecuteTweet(_tweetedErrorMessage);
            }
        }
示例#3
0
        protected override async Task <long> RunQueryAsync(PublishTweetCommand command)
        {
            var tweetId = await Task.FromResult(_twitterService.CreateTweet(command.Text));

            return(tweetId);
        }