public void Start(string keyWords) { if(!Running) { Tweetinvi.Auth.ApplicationCredentials = new Tweetinvi.Core.Credentials.TwitterCredentials( ConsumerKey, ConsumerSecret, AccessToken, AccessTokenSecret); var words = keyWords.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries); if(words.Any()) { m_stream = Tweetinvi.Stream.CreateFilteredStream(); m_stream.MatchingTweetReceived += OnMatchingTweekReceived; m_stream.StreamStopped += OnStreamStopped; foreach(string word in words) { m_stream.AddTrack(word); } m_streamTask = m_stream.StartStreamMatchingAnyConditionAsync(); } } }
private void InitFollow(bool verbose) { if (stream != null) { if (verbose) Host.PluginResponse(Host.PluginBotAdmin, "Stopping Twitter Stream"); stream.StopStream(); } stream = Stream.CreateFilteredStream(); stream.MatchingTweetReceived += stream_MatchingTweetReceived; stream.WarningFallingBehindDetected += stream_WarningFallingBehindDetected; stream.DisconnectMessageReceived += stream_DisconnectMessageReceived; foreach (KeyValuePair<string, List<string>> kp in this.follows) { string channel = kp.Key; List<string> tweeters = kp.Value; foreach (string tweeter in tweeters) { if (verbose) Host.PluginResponse("xwcg", "Adding '" + tweeter + "' to Twitter Stream"); //stream.AddTrack(tweeter); stream.AddFollow(User.GetUserFromScreenName(tweeter)); } } if (verbose) Host.PluginResponse(Host.PluginBotAdmin, "Starting Twitter Stream"); stream.StartStreamMatchingAnyConditionAsync(); }