private bool PostTweet(List <string> tweetDetails, PostDetail postDetail) { _logger.Info($"Posting Tweet Id: {postDetail.Id}"); _logger.Info($"UpVotes: {postDetail.UpVotes} DownVotes: {postDetail.DownVotes}"); ITweet initialTweet = null; foreach (var tweetStr in tweetDetails) { try { if (initialTweet == null) { initialTweet = Tweet.PublishTweet(tweetStr); } else { PublishTweetOptionalParameters optParams; if (postDetail.IsText) { optParams = new PublishTweetOptionalParameters { InReplyToTweet = initialTweet }; } else { optParams = new PublishTweetOptionalParameters { InReplyToTweet = initialTweet, Medias = new List <IMedia> { GetMediaToBytes(tweetStr) } }; postDetail.IsText = true; } var reply = Tweet.PublishTweet(tweetStr, optParams); initialTweet = reply; } } catch (Exception ex) { _logger.Info(ex.Message); } if (initialTweet == null) { _logger.Info("Failed: Initial Tweet refused to post\n"); return(false); } } _logger.Info("Success..\n"); return(true); }
public bool ProcessTweet(PostDetail postDetail) { var trend = ""; if (File.Exists(_trendFilePath)) { var trends = _fileManager.ReadFile <IEnumerable <string> >(_trendFilePath).ToArray(); var index = _rand.Next(trends.Count()); trend = trends[index]; } _logger.Info($"Converting Reddit post to Tweet.. "); var title = StringSplitter(postDetail.Title, CHARACTER_LIMIT); var body = StringSplitter(postDetail.Body, CHARACTER_LIMIT); var detailString = "Subreddit: r/" + postDetail.Subreddit + " Author: u/" + postDetail.Author + " http://redd.it/" + postDetail.Id + " .. " + trend; var detail = StringSplitter(detailString, CHARACTER_LIMIT); var tweetDetails = title.Concat(body).Concat(detail); return(PostTweet(tweetDetails.ToList(), postDetail)); }