public void StopTweetStream() { if (_filteredStream.StreamState != StreamState.Stop) { _logger.LogInformation("Stoping tweet stream."); _filteredStream.Stop(); } }
private void OnRefreshTimerElapsed(object sender, System.Timers.ElapsedEventArgs e) { _refreshTimer.Dispose(); if (_currentStream != null) { _currentStream.Stop(); } ThreadPool.QueueUserWorkItem(async q => { var credentials = _applicationClient.Credentials; _applicationClient = new TwitterClient(credentials); await ShowHomeTimeline(); }); }
private async void CheckTimeToUpdateTickers() { if (DateTime.Now.Hour - _lastUpdateTime.Hour > 1) { _twitterStream.Stop(); await LoadTickersAsync(); _twitterStream = _twitterClient.Streams.CreateFilteredStream(); SetStreamTrackers(); try { await _twitterStream.StartMatchingAnyConditionAsync(); } catch { await MonitorTweetsAsync(); } } }
public async Task StartAsync(CancellationToken cancellationToken) { var consumerKey = Environment.GetEnvironmentVariable("TwitterConsumerKey"); var consumerSecret = Environment.GetEnvironmentVariable("TwitterConsumerSecret"); var accessKey = Environment.GetEnvironmentVariable("TwitterAccessKey"); var accessSecret = Environment.GetEnvironmentVariable("TwitterAccessSecret"); var userClient = new TwitterClient(consumerKey, consumerSecret, accessKey, accessSecret); _filteredStream = userClient.Streams.CreateFilteredStream(); if (!string.IsNullOrEmpty(_attribute.Filter)) { _filteredStream.AddTrack(_attribute.Filter); } if (!string.IsNullOrWhiteSpace(_attribute.User)) { var user = await userClient.Users.GetUserAsync(_attribute.User); _filteredStream.AddFollow(user); } _filteredStream.MatchingTweetReceived += async(obj, tweetEvent) => { var triggerData = new TriggeredFunctionData { TriggerValue = tweetEvent }; await Executor.TryExecuteAsync(triggerData, CancellationToken.None); }; _filteredStream.DisconnectMessageReceived += (obj, disconnectEvent) => { _filteredStream.Stop(); }; await _filteredStream.StartMatchingAllConditionsAsync(); }
public Task StopAsync(CancellationToken cancellationToken) { _filteredStream.Stop(); return(Task.CompletedTask); }