diff --git a/foodie_engagement_tweet.py b/foodie_engagement_tweet.py index 0aaaf75..6e52604 100644 --- a/foodie_engagement_tweet.py +++ b/foodie_engagement_tweet.py @@ -140,7 +140,7 @@ except Exception as e: sys.exit(1) def generate_engagement_tweet(author): - """Generate an engagement tweet using author background themes.""" + """Generate an engagement tweet using author background themes and persona.""" print(f"Generating tweet for author: {author['username']}") try: credentials = X_API_CREDENTIALS.get(author["username"]) @@ -160,9 +160,12 @@ def generate_engagement_tweet(author): theme = random.choice(background["engagement_themes"]) print(f"Selected theme: {theme}") + # Get the author's persona from AUTHORS + persona = next((a["persona"] for a in AUTHORS if a["username"] == author["username"]), "Unknown") + prompt = ( - f"Generate a concise tweet (under 230 characters) for {author_handle}. " - f"Create an engaging question or statement about {theme} to spark interaction. " + f"Generate a concise tweet (under 230 characters) for {author_handle} as a {persona}. " + f"Create an engaging, specific question about {theme} to spark interaction (e.g., 'What's your go-to sushi spot in Tokyo?'). " f"Include a call to action to follow {author_handle} or like the tweet, and mention InsiderFoodie.com with a link to https://insiderfoodie.com. " f"Avoid using the word 'elevate'—use more humanized language like 'level up' or 'bring to life'. " f"Do not include emojis, hashtags, or reward-driven incentives (e.g., giveaways)." @@ -196,10 +199,10 @@ def generate_engagement_tweet(author): print(f"Exhausted retries for {author['username']}") logging.error(f"Failed to generate engagement tweet after {MAX_RETRIES} attempts") engagement_templates = [ - f"What's the most mouthwatering {theme} you've seen this week? Share below and follow {author_handle} for more on InsiderFoodie.com! Link: https://insiderfoodie.com", - f"{theme.capitalize()} lovers unite! What's your go-to pick? Tell us and like this tweet for more from {author_handle} on InsiderFoodie.com! Link: https://insiderfoodie.com", - f"Ever tried a {theme} that blew your mind? Share your favorites and follow {author_handle} for more on InsiderFoodie.com! Link: https://insiderfoodie.com", - f"What {theme} trend are you loving right now? Let us know and like this tweet to keep up with {author_handle} on InsiderFoodie.com! Link: https://insiderfoodie.com" + f"What's your favorite {theme} dish? Share below and follow {author_handle} for more on InsiderFoodie.com! Link: https://insiderfoodie.com", + f"Which {theme} spot is a must-visit? Tell us and like this tweet for more from {author_handle} on InsiderFoodie.com! Link: https://insiderfoodie.com", + f"Got a {theme} hidden gem? Share it and follow {author_handle} for more on InsiderFoodie.com! Link: https://insiderfoodie.com", + f"What's the best {theme} you've tried? Let us know and like this tweet to keep up with {author_handle} on InsiderFoodie.com! Link: https://insiderfoodie.com" ] template = random.choice(engagement_templates) print(f"Using fallback tweet: {template}")