当指定用户创建新推文时,如何让我的Python脚本发出警报?

时间:2016-02-04 17:59:45

标签: python api twitter python-twitter

我目前正在尝试使用python-twitter和Twitter API,并在用户上传新推文时创建一个听起来print "\a"警报的脚本。

到目前为止,我有这个功能:

def tweets():
    statuses = api.GetUserTimeline('username')
    tweets = [s.text for s in statuses]
    latest = tweets[0]
    prev = tweets[1]
    time.sleep(10)
    print latest

它的工作原理是每10秒检索并打印最新的推文。但是,如何在循环的最后一次迭代中存储最新的推文(我有无限循环的函数)并将其与当前迭代中的最新推文进行比较?我的想法是,如果这两者不同,那么print "\a"就会响起。

1 个答案:

答案 0 :(得分:0)

这应该完成一般的想法:

latest = None
errors = False

while not errors:
    try:
        statuses = api.GetUserTimeline('username')
        tweets = [s.text for s in statuses]
    except Exception:  # handle specific exception(s) here
        errors = True
        continue

    if latest and latest != tweets[0]:
        print "\a"  # sound
        latest = tweets[0]  # set new latest tweet for next iteration

    time.sleep(10)