首页 > 解决方案 > Twitter bot 未将推文 ID 保存在文本文件中

问题描述

我正在尝试制作一个 Twitter 机器人,它会自动回复推文,但我不希望它回复它已经回复过的推文,所以我试图将推文 ID 保存到文本文档并让机器人引用它最后一次看到的 ID,但它没有更新文本文档。

FILE_NAME = 'last_seen.txt'

def read_last_seen(FILE_NAME):
    file_read = open(FILE_NAME, 'r')
    last_seen_id = int(file_read.read().strip())
    file_read.close()
    return last_seen_id

def store_last_seen(FILE_NAME, last_seen_id):
    file_write = open(FILE_NAME, 'w')
    file_write.write(str(last_seen_id))
    file_write.close()
    return
tweets = api.mentions_timeline(read_last_seen(FILE_NAME), tweet_mode='extended')


for tweet in reversed(tweets):

    if '#botting' in tweet.full_text.lower():
        print(str(tweet.id) + ' - ' + tweet.full_text)
        api.update_status('@' + tweet.user.screen_name + ' This is a bot.', tweet.id)
        store_last_seen(FILE_NAME, tweet.id)

标签: pythontwitterbots

解决方案


当我出于测试目的简化推文时,程序只是覆盖了以前的条目。 在这里回复

所以你的写作计划并没有超越以前的条目。我认为您想要“a”模式而不是“w”。您还希望在条目之间添加换行符或换行符,以便在扫描匹配项时不会得到错误匹配项。

Python写入文件而不覆盖当前txt


推荐阅读