首页 > 解决方案 > 如何在我的 twitter 机器人中正确实现 StreamListener?(呸呸呸)

问题描述

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

这是我的机器人的代码示例:它的功能是,搜索查询,转发,喜欢,回复。

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”的使用。

我也无法启动流。如何在我的 twitter 机器人中正确实现 StreamListener?

标签: pythontwittertweepy

解决方案


推荐阅读