private static void ReceiveTweet(object sender, TweetReceivedEventArgs args) { if(hbaseWriter != null) { TweetSentimentData data = new TweetSentimentData(args.Tweet); hbaseWriter.WriteTweet(data); Console.WriteLine(args.Tweet.Text); } }
private async static void OnTweetCreated(object sender, TweetReceivedEventArgs e) { await Console.Out.WriteLineAsync("Received tweet: " + e.Tweet); var text = RemoveTwitterHandles(e.Tweet.Text); using (var client = new HttpClient()) { var content = new FormUrlEncodedContent(new[] { new KeyValuePair<string, string>("Source", "twitter"), new KeyValuePair<string, string>("Text", text), new KeyValuePair<string, string>("From", e.Tweet.CreatedBy.ScreenName) }); var response = await client.PostAsync(ConfigurationManager.AppSettings["DurryLightsApiEndpoint"], content); string reply; if (response.IsSuccessStatusCode) { var responseContent = await response.Content.ReadAsStringAsync(); var lightsResponse = JsonConvert.DeserializeObject<LightsResponse>(responseContent); if (!lightsResponse.IsSuccess) { return; } if (lightsResponse.IsScheduled && lightsResponse.ScheduledForUtc.HasValue) { reply = string.Format("Thanks! Your lights have been scheduled for {0}. Merry Christmas!", lightsResponse.ScheduledForUtc.Value.ToString("HH:mm")); Tweet.PublishTweetInReplyTo(string.Format("@{0} {1}", e.Tweet.CreatedBy.ScreenName, reply), e.Tweet); } else { reply = "Thanks! Your lights will be shown shortly. Merry Christmas!"; Tweet.PublishTweetInReplyTo(string.Format("@{0} {1}", e.Tweet.CreatedBy.ScreenName, reply), e.Tweet); } } else { reply = "Ooops. Something went wrong. Please try again later."; Tweet.PublishTweetInReplyTo(string.Format("@{0} {1}", e.Tweet.CreatedBy.ScreenName, reply), e.Tweet); } } }
private bool TryRaiseTweetEvent(ITweet tweet) { if (tweet == null) { return false; } var tweetReceivedEventArgs = new TweetReceivedEventArgs(tweet); this.Raise(TweetCreatedByAnyone, tweetReceivedEventArgs); if (tweet.CreatedBy.Equals(_loggedUser)) { this.Raise(TweetCreatedByMe, tweetReceivedEventArgs); } else { this.Raise(TweetCreatedByAnyoneButMe, tweetReceivedEventArgs); } if (_friendIds.Contains(tweet.CreatedBy.Id)) { this.Raise(TweetCreatedByFriend, tweetReceivedEventArgs); } return true; }
private async void OnTweetReceived(object sender, TweetReceivedEventArgs e) { Trace.TraceInformation(string.Format("New tweet received at {0}. Message: {1}", e.Tweet.CreatedAt, e.Tweet.Text)); await Database.Tweets.SaveAsync(new TweetDB { ID = e.Tweet.Id, InReplyTo = e.Tweet.InReplyToUserId, IsRetweet = e.Tweet.IsRetweet, TweetedAt = e.Tweet.CreatedAt }); }
// Tweet private bool TryGetTweet(string jsonTweet) { try { var tweet = _tweetFactory.GenerateTweetFromJson(jsonTweet); if (tweet == null) { return false; } var tweetReceivedEventArgs = new TweetReceivedEventArgs(tweet); this.Raise(TweetCreatedByAnyone, tweetReceivedEventArgs); if (tweet.CreatedBy.Equals(_loggedUser)) { this.Raise(TweetCreatedByMe, tweetReceivedEventArgs); } else { this.Raise(TweetCreatedByAnyoneButMe, tweetReceivedEventArgs); } if (_friendIds.Contains(tweet.CreatedBy.Id)) { this.Raise(TweetCreatedByFriend, tweetReceivedEventArgs); } } catch (Exception) { return false; } return true; }