Пример #1
0
        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();
                }
            }
        }
Пример #2
0
        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();
        }