Ejemplo n.º 1
0
 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);
     }
 }
Ejemplo n.º 2
0
        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);
                }

            }

        }
Ejemplo n.º 3
0
        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;
        }
Ejemplo n.º 4
0
        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 });
        }
Ejemplo n.º 5
0
        // 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;
        }