Beispiel #1
0
        public static void Start( )
        {
            stream = Tweetinvi.Stream.CreateFilteredStream( );

            stream.FilterLevel = FilterLevel;

            stream.MatchingTweetReceived        += OnTweetReceived;
            stream.WarningFallingBehindDetected += WarningFallingBehind;
            stream.DisconnectMessageReceived    += DisconnectedMessageReceived;

            foreach (string keyword in Keywords)
            {
                stream.AddTrack(keyword);
            }
            foreach (string language in Languages)
            {
                stream.AddTweetLanguageFilter(language);
            }
            foreach (Coordinates coord in Coords)
            {
                stream.AddLocation(coord, new Coordinates(coord.Latitude + 1.0, coord.Longitude + 1.0));
            }

            TweetCount = 0;

            RateLimit.RateLimitTrackerMode = RateLimitTrackerMode.TrackAndAwait;
            Task streamAsync = Sync.ExecuteTaskAsync(() => stream.StartStreamMatchingAllConditionsAsync( ));
        }
Beispiel #2
0
 public void StartStream()
 {
     stream.StartStreamMatchingAllConditionsAsync();
     System.Timers.Timer dbTimer = new System.Timers.Timer();
     dbTimer.Elapsed += new ElapsedEventHandler(OnTimedEvent);
     dbTimer.Interval = 5000;
     dbTimer.Enabled  = true;
 }
Beispiel #3
0
        private void addUser()
        {
            bool restart = STREAM.StreamState == StreamState.Running;

            if (restart)
            {
                STREAM.StopStream();
            }

            if (STREAM.ContainsFollow(UserId))
            {
                STREAM.FollowingUserIds[UserId] += x => TweetReceived(x);
            }
            else
            {
                STREAM.AddFollow(UserId, x => TweetReceived(x));
            }

            if (restart && STREAM.FollowingUserIds.Count == 1)
            {
                STREAM.StartStreamMatchingAllConditionsAsync();
            }
        }
Beispiel #4
0
        private async void ProcessStream(object sender, DoWorkEventArgs e)
        {
            var worker = sender as BackgroundWorker;

            while (!worker.CancellationPending)
            {
                try
                {
                    await _filteredStream.StartStreamMatchingAllConditionsAsync();
                }
                catch (Exception ex)
                {
                    logger.LogError(ex, "Error Twitter converstain stream. " + ex.Message);
                }
            }
        }
Beispiel #5
0
 public void StartStream()
 {
     if (_filteredStream == null)
     {
         // For Reply
         _filteredStream = Tweetinvi.Stream.CreateFilteredStream();
         _filteredStream.AddTrack("@" + _botUser.ScreenName);
         _filteredStream.StreamStarted         += OnStreamStarted;
         _filteredStream.MatchingTweetReceived += OnMatchingTweetReceived;
         // TODO これに限らず例外処理と継続は見ておく
         _filteredStream.StartStreamMatchingAllConditionsAsync();
     }
     else
     {
         Debug.WriteLine("Twitter stream already started");
     }
 }