试图找出一种使我的Twitter机器人根据请求的日期向用户发送推文的方法

时间:2019-09-19 22:11:14

标签: python tweepy

我设法让我的机器人解析了提及日期的正确方法。例如,如果用户用“提醒09/20/2019”或其他任意随机日期提及我的机器人,则会以日期测试成功进行响应。

我当前遇到的问题是,我希望我的机器人仅在请求的日期答复。例如,如果用户用“提醒10/1/2019”提及我的机器人,我希望我的机器人在2019年1月1日以“日期测试成功”响应。

如果我的问题没有得到足够清楚的解释,我可以做得更深入。

我当前正在使用的代码在这里:

> # Extended tweet mode is for showing longer tweets in mentions
    mentions = api.mentions_timeline(tweet_mode='extended')
    for tweets in reversed(mentions):
        date_search_match = re.compile(r"(?:reminder|Reminder)\s\d{2}/\d{2}/\d{4}")
        if date_search_match.search(tweets.full_text)
            api.update_status(f"@{tweets.user.screen_name} Date Test Successful")

1 个答案:

答案 0 :(得分:0)

您可以将日期存储在数据库中,然后每天使用python调度程序包(如github.com/dbader/schedule)查询一次提醒。

例如:

import schedule
import time

def job():
    print("I'm searching the DB for today's reminders...")
    <logic for querying the DB>
    print("and tweeting out the reminders...")
    <logic for tweeting the reminders with tweepy>

schedule.every().day.at("10:30").do(job)

while True:
    schedule.run_pending()
    time.sleep(1)

或者您可以在cron作业上运行python脚本。