diff --git a/foodie_utils.py b/foodie_utils.py index 7935c2a..051b014 100644 --- a/foodie_utils.py +++ b/foodie_utils.py @@ -832,13 +832,22 @@ def post_to_wp(post_data, category, link, author, image_url, original_source, im timestamp = datetime.now(timezone.utc).isoformat() save_post_to_recent(post_data["title"], post_url, wp_username, timestamp) - # Post tweet if enabled + # Post tweet if enabled if should_post_tweet: credentials = X_API_CREDENTIALS.get(post_data["author"]) if credentials: - tweet_text = f"{post_data['title']}\n{post_url}" - if post_tweet(author, tweet_text): - logger.info(f"Successfully tweeted for post: {post_data['title']}") + # Select persona for the tweet (same logic as used in summarize_with_gpt4o) + persona = select_best_persona(interest_score, post_data["content"]) + logger.info(f"Selected persona for tweet: {persona}") + # Generate GPT-based tweet + tweet_post = { + "title": post_data["title"], + "url": post_url + } + tweet_text = generate_article_tweet(author, tweet_post, persona) + tweet_id, tweet_data = post_tweet(author, tweet_text) + if tweet_id: + logger.info(f"Successfully tweeted for post: {post_data['title']} (Tweet ID: {tweet_id})") else: logger.warning(f"Failed to tweet for post: {post_data['title']}") @@ -1255,7 +1264,7 @@ def get_x_rate_limit_status(author): resource_owner_secret=credentials['access_token_secret'] ) url = 'https://api.x.com/2/tweets' - payload = {'text': f'Test tweet to check rate limits for {username} - please ignore'} + payload = {'text': f'Test tweet to check rate limits for {username} - please ignore {int(time.time())}'} try: response = requests.post(url, json=payload, auth=oauth)