/// <summary> /// Gets eztv timeline /// </summary> /// <param name="count">currently non-functional</param> /// <returns>List of tweets from timeline</returns> public List<ITweet> GetRecentTweets(int count) { List<ITweet> timeline = new List<ITweet>(); try { User user = new User(_userID, _token, true); timeline = user.GetUserTimeline(); } catch (Exception e) { //yeezus christ improve this bullshit throw e; } return timeline; }
public void Execute(IJobExecutionContext context) { int skippedOld = 0; var users = new List<String> { "jbask14", "bockingselmbabe", "gemmagwynne", "dorotheecomp77", "angelaevans247", "flossiecrossie" }; foreach (var username in users) { try { var user = new User(username, _twitterToken); List<ITweet> statuses = user.GetUserTimeline(true, _twitterToken).Where(s => s.Id > _lastStatus[username]).ToList(); _logger.InfoFormat("User {0}: {1} new statuses", username, statuses.Count); foreach (var status in statuses) { if (status.CreatedAt.ToUniversalTime() < DateTime.UtcNow.AddHours(-12)) { skippedOld++; continue; } if (status.Retweeting != null) { var source = String.Format("https://twitter.com/{0}/status/{1}", status.Creator.ScreenName, status.IdStr); //this is a retweet var targetStatus = status.Retweeting; _queue.EnqueueRetweet(targetStatus.IdStr, source); _queue.EnqueueFollow(targetStatus.Creator.ScreenName.ToLower(), source); //also follow any mentioned users foreach (var entity in targetStatus.UserMentions) { _queue.EnqueueFollow(entity.ScreenName.ToLower(), source); } } } try { if (statuses.Any() && statuses.First().Id.HasValue) { _lastStatus[username] = statuses.First().Id.Value; } } catch (Exception ex) { _logger.ErrorFormat("Error setting last staus id:\n {0}", ex); } } catch (Exception ex) { _logger.Error(ex); } } if (skippedOld > 0) _logger.InfoFormat("Skipped {0} old tweets", skippedOld); _logger.Info("Twitter scrape complete"); }