回复特定用户的 Twitter 机器人

Twitter bot that replies to a specific user

我想使用 tweepy 编写一个 Twitter 机器人,它可以自动回复我所有朋友的推文,但问题是我必须始终 运行 我自己可以有人向我解释如何做到这一点,谢谢。 这是我的实际代码:

import tweepy
from keys import keys

CONSUMER_KEY = keys['consumer_key']
CONSUMER_SECRET = keys['consumer_secret']
ACCESS_TOKEN = keys['access_token']
ACCESS_TOKEN_SECRET = keys['access_token_secret']

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
api = tweepy.API(auth)

toReply = "USER" #user to get most recent tweet
api = tweepy.API(auth)

#get the most recent tweet from the user
tweets = api.user_timeline(screen_name = toReply, count=1)

for tweet in tweets:
api.update_status("@" + toReply + " TEXT", in_reply_to_status_id = tweet.id)

您每次都必须自己 运行 python 脚本,因为脚本在 运行ning 之后完成。

现在,当您单击 run 或键入 python myscript.py 脚本 运行s 时,会检查您朋友的推文并发布一些内容。发送推文后,脚本停止。结束了。

解决此问题的方法是将脚本置于无限循环中,每隔一段时间检查一次推文,并始终将其 运行 保存在您的设备上。

当然,当您的 PC 关闭时脚本将无法运行,您每次打开 PC 时都必须 运行 该脚本(您也可以使用 TaskScheduler 自动执行此操作如果你在 Windows)

或者您可以将您的代码部署到云服务器,在那里它会一直 运行 宁,但它会花费您一些钱。

看看 Google Cloud、Amazon Web Services 和 Microsoft Azure,它们是三大云提供商。

代码看起来像这样:

import tweepy
from keys import keys
import time 

def check_tweets(): 
    CONSUMER_KEY = keys['consumer_key']
    CONSUMER_SECRET = keys['consumer_secret']
    ACCESS_TOKEN = keys['access_token']
    ACCESS_TOKEN_SECRET = keys['access_token_secret']
    
    auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)
    auth.set_access_token(ACCESS_TOKEN, ACCESS_TOKEN_SECRET)
    api = tweepy.API(auth)
    
    toReply = "USER" #user to get most recent tweet
    api = tweepy.API(auth)
    
    #get the most recent tweet from the user
    tweets = api.user_timeline(screen_name = toReply, count=1)
    
    for tweet in tweets:
    api.update_status("@" + toReply + " TEXT", in_reply_to_status_id = tweet.id)

while True: 
    check_tweets()
    time.sleep(60) # 60 seconds