Python Tweepy StreamListener:指定帐户发出Tweet时发出Tweet

Python Tweepy StreamListener:指定帐户发出Tweet时发出Tweet,python,python-2.7,twitter,bots,tweepy,Python,Python 2.7,Twitter,Bots,Tweepy,我有一个Twitter机器人,它跟踪一个特定的帐户。 当那个帐号发推文时,我希望我的机器人发推文 到目前为止,我有以下代码: import tweepy import time import sys import inspect consumer_key = 'xxxxxxx' consumer_secret = 'xxxxxxxx' access_token = 'xxxxxxx' access_token_secret = 'xxxxxxxx' auth = tweepy.OAuthHa

我有一个Twitter机器人,它跟踪一个特定的帐户。 当那个帐号发推文时,我希望我的机器人发推文

到目前为止,我有以下代码:

import tweepy
import time
import sys
import inspect

consumer_key = 'xxxxxxx'
consumer_secret = 'xxxxxxxx'
access_token = 'xxxxxxx'
access_token_secret = 'xxxxxxxx'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
auth.secure = True

print "Test Message"

api = tweepy.API(auth)

class MyStreamListener(tweepy.StreamListener):

    def on_status(self, status):
            if status.user.screen_name.encode('UTF-8').lower() == 'xxxxxx': #account I am following
                api.update_status('Test Tweet')  # tweet that is sent from my bot 


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

但是,当我从命令行运行此代码时,它运行时没有问题,但不会对来自指定帐户的任何tweet做出反应

您的
on\u status
方法中的
if
语句似乎没有正确缩进

如果不是这样,为了正确地调试它,您需要在您的
MyStreamListener
类中添加一个
on\u error
方法,以便您能够确定Twitter API返回的错误/状态代码(如果有)


请参阅。

您知道Python 2.7从今天起就已经过时了吗?嘿@AndyPiper,是的,我知道-我一直在做一个使用2.7的项目,所以我也为这个项目做了同样的工作。嘿,Harmon,谢谢您的回复。我很确定这不是缩进问题,因为这会在我的终端输出中被标记。我已经按照youj的建议使用了on_error方法……现在,当我运行脚本时,我发现它没有做任何事情——就像指定的twitter帐户发出tweet时,什么都没有发生。没有Harmon,没有错误响应代码……我已经打印了一条“测试消息”,当我运行这个脚本时,它会打印出来,然后当指定的帐户发出tweet消息时,脚本会挂起,而不是什么都没有。您是否在错误处理程序中打印它?因为如果是这样,那么您将收到一个错误响应。不,打印消息在类和方法之前,我已经用新代码更新了op。同样,您的
on\u error
方法没有正确缩进。如果您收到420错误响应状态代码,则表示您受到速率限制。看见