转发特定用户。Tweepy和python

2024-09-24 00:35:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个代码,可以转发一条tweet,如果该tweet中提到@oogaboga。 我该如何改变它,以便它能够转发@oogaboga发布的每一条推文,而不需要在这些推文中提及? 所以基本上我想转发@oogaboga推特上的所有内容,不管内容如何。我试着自己修改它,浏览了tweepy文档和API,并查找了一些类似的问题,试图从中构建,但没有成功。帮个忙

import logging
import time
import random
from datetime import datetime, timedelta

logging.basicConfig(level=logging.INFO)
logger = logging.getLogger()

auth = tweepy.OAuthHandler('hiddenkey1','hiddenkey2')
auth.set_access_token('hiddenkey3','hiddenkey4')

api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)

user = api.me()

def fav_retweet_user(api, user_handle):
    search_query = f"{user_handle} -filter:retweets"
    logger.info(f'Retrieving tweets mentioning {user_handle}...')
    tweets = api.search(q=search_query, lang ="en")
    for tweet in tweets:
        if tweet.in_reply_to_status_id is not None or \
            tweet.user.id == api.me().id:
            return
        if not tweet.favorited:
            try:
                tweet.favorite()
                logger.info(f"Liked a tweet mentioning {user_handle}")
            except Exception as e:
                logger.error("Error on fav", exc_info=True)
        if not tweet.retweeted:
            try:
                tweet.retweet()
                logger.info(f"Retweeted a tweet mentioning {user_handle}")
            except Exception as e:
                logger.error("Error on fav and retweet", exc_info=True)

while True:
    fav_retweet_user(api, "@oogabooga")
    logger.info("Waiting...")
    time.sleep(30)

Tags: importinfoauthapitrueonlogginglogger