update tweet post every 2 days
This commit is contained in:
+24
-16
@@ -1,8 +1,8 @@
|
||||
import random
|
||||
import logging
|
||||
from datetime import datetime
|
||||
from datetime import datetime, timedelta
|
||||
import openai
|
||||
from foodie_utils import post_tweet, AUTHORS
|
||||
from foodie_utils import post_tweet, AUTHORS, SUMMARY_MODEL
|
||||
|
||||
# Setup logging
|
||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||
@@ -19,7 +19,7 @@ def generate_engagement_tweet(author):
|
||||
|
||||
try:
|
||||
response = openai.ChatCompletion.create(
|
||||
model="gpt-4o",
|
||||
model=SUMMARY_MODEL,
|
||||
messages=[
|
||||
{"role": "system", "content": "You are a social media expert crafting engaging tweets."},
|
||||
{"role": "user", "content": prompt}
|
||||
@@ -44,18 +44,26 @@ def generate_engagement_tweet(author):
|
||||
return template.format(handle=author_handle)
|
||||
|
||||
def post_engagement_tweet():
|
||||
for author in AUTHORS:
|
||||
tweet = generate_engagement_tweet(author)
|
||||
|
||||
logging.info(f"Posting engagement tweet for {author['username']}: {tweet}")
|
||||
if post_tweet(author, tweet):
|
||||
logging.info(f"Successfully posted engagement tweet for {author['username']}")
|
||||
else:
|
||||
logging.warning(f"Failed to post engagement tweet for {author['username']}")
|
||||
# Reference date for calculating the 2-day interval
|
||||
reference_date = datetime(2025, 4, 29, tzinfo=timezone.utc) # Starting from April 29, 2025
|
||||
current_date = datetime.now(timezone.utc)
|
||||
|
||||
# Calculate the number of days since the reference date
|
||||
days_since_reference = (current_date - reference_date).days
|
||||
|
||||
# Post only if the number of days since the reference date is divisible by 2
|
||||
if days_since_reference % 2 == 0:
|
||||
logging.info("Today is an engagement tweet day (every 2 days). Posting...")
|
||||
for author in AUTHORS:
|
||||
tweet = generate_engagement_tweet(author)
|
||||
|
||||
logging.info(f"Posting engagement tweet for {author['username']}: {tweet}")
|
||||
if post_tweet(author, tweet):
|
||||
logging.info(f"Successfully posted engagement tweet for {author['username']}")
|
||||
else:
|
||||
logging.warning(f"Failed to post engagement tweet for {author['username']}")
|
||||
else:
|
||||
logging.info("Today is not an engagement tweet day (every 2 days). Skipping...")
|
||||
|
||||
if __name__ == "__main__":
|
||||
# Run only on Mondays
|
||||
if datetime.now(timezone.utc).weekday() == 0: # Monday (0 = Monday)
|
||||
post_engagement_tweet()
|
||||
else:
|
||||
logging.info("Not Monday - skipping engagement tweet posting")
|
||||
post_engagement_tweet()
|
||||
Reference in New Issue
Block a user