Exemple #1
0
        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);
        }
Exemple #2
0
        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));
        }