Python 如何将StreamListener正确地实现到我的twitter机器人中?(特威比)

Python 如何将StreamListener正确地实现到我的twitter机器人中?(特威比),python,twitter,tweepy,Python,Twitter,Tweepy,根据上的文档。 我需要使用这3个步骤: 步骤1:创建StreamListener #override tweepy.StreamListener to add logic to on_status class MyStreamListener(tweepy.StreamListener): def on_status(self, status): print(status.text) 步骤2:创建流 myStream = tweepy.Stream(auth =

根据上的文档。 我需要使用这3个步骤:

  • 步骤1:创建StreamListener

    #override tweepy.StreamListener to add logic to on_status
    class MyStreamListener(tweepy.StreamListener):
    
        def on_status(self, status):
            print(status.text)
    
    
  • 步骤2:创建流

    myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
    
    
    
  • 步骤3:启动流

    myStream = tweepy.Stream(auth = api.auth, listener=myStreamListener)
    
    
    
    myStream.filter(track=['python'])

下面是我的bot的代码示例: 它的功能有,搜索查询,转发,喜欢,回复

import tweepy
import time 

consumer_key = 
consumer_secret = 
key =  
secret =  

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(key, secret)
api = tweepy.API(auth, wait_on_rate_limit=True)

tweetNumber = 20    
seen = set()
q = "MY SEARCH"

def crashBot():    
    for tweet in reversed(tweets):            
        try:
            if tweet.id in seen:
                print("Skipping", tweet.id, "because we already replied to it")
                continue                                       
            if q in tweet.full_text.lower():
                    seen.add(tweet.id)
                    print(str(tweet.id) + '-' + tweet.full_text)
                    api.update_status("@" + tweet.user.screen_name + " MY REPLY!", tweet.id)
                    api.retweet(tweet.id)                                        
                    print("done!")                
                    time.sleep(30)            
        except tweepy.tweepyError as e:
            print(e.reason)
            time.sleep(30)
            
while True:
    tweets = list(tweepy.Cursor(api.search, q, tweet_mode='extended').items(tweetNumber))
    crashBot()    
    time.sleep(30)
我还没有找到一个很好的例子来说明如何用StreamListener替代“tweepy.Cursor”和“api.search”

我也不能启动一个流。 如何将StreamListener正确地实现到我的twitter机器人中