merge posting x into main files
This commit is contained in:
+162
-64
@@ -58,10 +58,171 @@ AUTHORS = [
|
||||
}
|
||||
]
|
||||
|
||||
X_API_CREDENTIALS = [
|
||||
{
|
||||
"username": "owenjohnson",
|
||||
"x_username": "@insiderfoodieowen",
|
||||
"api_key": os.getenv("OWENJOHNSON_X_API_KEY"),
|
||||
"api_secret": os.getenv("OWENJOHNSON_X_API_SECRET"),
|
||||
"access_token": os.getenv("OWENJOHNSON_X_ACCESS_TOKEN"),
|
||||
"access_token_secret": os.getenv("OWENJOHNSON_X_ACCESS_TOKEN_SECRET"),
|
||||
"client_secret": os.getenv("OWENJOHNSON_X_CLIENT_SECRET")
|
||||
},
|
||||
{
|
||||
"username": "javiermorales",
|
||||
"x_username": "@insiderfoodiejavier",
|
||||
"api_key": os.getenv("JAVIERMORALES_X_API_KEY"),
|
||||
"api_secret": os.getenv("JAVIERMORALES_X_API_SECRET"),
|
||||
"access_token": os.getenv("JAVIERMORALES_X_ACCESS_TOKEN"),
|
||||
"access_token_secret": os.getenv("JAVIERMORALES_X_ACCESS_TOKEN_SECRET"),
|
||||
"client_secret": os.getenv("JAVIERMORALES_X_CLIENT_SECRET")
|
||||
},
|
||||
{
|
||||
"username": "aishapatel",
|
||||
"x_username": "@insiderfoodieaisha",
|
||||
"api_key": os.getenv("AISHAPATEL_X_API_KEY"),
|
||||
"api_secret": os.getenv("AISHAPATEL_X_API_SECRET"),
|
||||
"access_token": os.getenv("AISHAPATEL_X_ACCESS_TOKEN"),
|
||||
"access_token_secret": os.getenv("AISHAPATEL_X_ACCESS_TOKEN_SECRET"),
|
||||
"client_secret": os.getenv("AISHAPATEL_X_CLIENT_SECRET")
|
||||
},
|
||||
{
|
||||
"username": "trangnguyen",
|
||||
"x_username": "@insiderfoodietrang",
|
||||
"api_key": os.getenv("TRANGNGUYEN_X_API_KEY"),
|
||||
"api_secret": os.getenv("TRANGNGUYEN_X_API_SECRET"),
|
||||
"access_token": os.getenv("TRANGNGUYEN_X_ACCESS_TOKEN"),
|
||||
"access_token_secret": os.getenv("TRANGNGUYEN_X_ACCESS_TOKEN_SECRET"),
|
||||
"client_secret": os.getenv("TRANGNGUYEN_X_CLIENT_SECRET")
|
||||
},
|
||||
{
|
||||
"username": "keishareid",
|
||||
"x_username": "@insiderfoodiekeisha",
|
||||
"api_key": os.getenv("KEISHAREID_X_API_KEY"),
|
||||
"api_secret": os.getenv("KEISHAREID_X_API_SECRET"),
|
||||
"access_token": os.getenv("KEISHAREID_X_ACCESS_TOKEN"),
|
||||
"access_token_secret": os.getenv("KEISHAREID_X_ACCESS_TOKEN_SECRET"),
|
||||
"client_secret": os.getenv("KEISHAREID_X_CLIENT_SECRET")
|
||||
},
|
||||
{
|
||||
"username": "lilamoreau",
|
||||
"x_username": "@insiderfoodielila",
|
||||
"api_key": os.getenv("LILAMOREAU_X_API_KEY"),
|
||||
"api_secret": os.getenv("LILAMOREAU_X_API_SECRET"),
|
||||
"access_token": os.getenv("LILAMOREAU_X_ACCESS_TOKEN"),
|
||||
"access_token_secret": os.getenv("LILAMOREAU_X_ACCESS_TOKEN_SECRET"),
|
||||
"client_secret": os.getenv("LILAMOREAU_X_CLIENT_SECRET")
|
||||
}
|
||||
]
|
||||
|
||||
PERSONA_CONFIGS = {
|
||||
"Visionary Editor": {
|
||||
"description": "a commanding food editor with a borderless view",
|
||||
"tone": "a polished and insightful tone, like 'This redefines culinary excellence.'",
|
||||
"article_prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Add a bold take and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
),
|
||||
"x_prompt": (
|
||||
"Craft a tweet as {description}. Keep it under 280 characters, using {tone}. "
|
||||
"For article tweets, include the article title, a quirky hook, and the URL. "
|
||||
"For engagement tweets, ask a question about food trends, foods, or articles to engage the public. "
|
||||
"Avoid emojis and clichés like 'game-changer'. Return only the tweet text."
|
||||
)
|
||||
},
|
||||
"Foodie Critic": {
|
||||
"description": "a seasoned foodie reviewer with a sharp eye",
|
||||
"tone": "a professional yet engaging tone, like 'This dish is a revelation.'",
|
||||
"article_prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Add a subtle opinion and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
),
|
||||
"x_prompt": (
|
||||
"Craft a tweet as {description}. Keep it under 280 characters, using {tone}. "
|
||||
"For article tweets, include the article title, a quirky hook, and the URL. "
|
||||
"For engagement tweets, ask a question about food trends, foods, or articles to engage the public. "
|
||||
"Avoid emojis and clichés like 'game-changer'. Return only the tweet text."
|
||||
)
|
||||
},
|
||||
"Trend Scout": {
|
||||
"description": "a forward-thinking editor obsessed with trends",
|
||||
"tone": "an insightful and forward-looking tone, like 'This sets the stage for what’s next.'",
|
||||
"article_prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Predict what’s next and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
),
|
||||
"x_prompt": (
|
||||
"Craft a tweet as {description}. Keep it under 280 characters, using {tone}. "
|
||||
"For article tweets, include the article title, a quirky hook, and the URL. "
|
||||
"For engagement tweets, ask a question about food trends, foods, or articles to engage the public. "
|
||||
"Avoid emojis and clichés like 'game-changer'. Return only the tweet text."
|
||||
)
|
||||
},
|
||||
"Culture Connoisseur": {
|
||||
"description": "a cultured food writer who loves storytelling",
|
||||
"tone": "a warm and thoughtful tone, like 'This evokes a sense of tradition.'",
|
||||
"article_prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Add a thoughtful observation and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
),
|
||||
"x_prompt": (
|
||||
"Craft a tweet as {description}. Keep it under 280 characters, using {tone}. "
|
||||
"For article tweets, include the article title, a quirky hook, and the URL. "
|
||||
"For engagement tweets, ask a question about food trends, foods, or articles to engage the public. "
|
||||
"Avoid emojis and clichés like 'game-changer'. Return only the tweet text."
|
||||
)
|
||||
},
|
||||
"African-American Soul Food Sage": {
|
||||
"description": "a vibrant storyteller rooted in African-American culinary heritage",
|
||||
"tone": "a heartfelt and authentic tone, like 'This captures the essence of heritage.'",
|
||||
"article_prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Add a heritage twist and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
),
|
||||
"x_prompt": (
|
||||
"Craft a tweet as {description}. Keep it under 280 characters, using {tone}. "
|
||||
"For article tweets, include the article title, a quirky hook, and the URL. "
|
||||
"For engagement tweets, ask a question about food trends, foods, or articles to engage the public. "
|
||||
"Avoid emojis and clichés like 'game-changer'. Return only the tweet text."
|
||||
)
|
||||
},
|
||||
"Global Street Food Nomad": {
|
||||
"description": "an adventurous explorer of global street food",
|
||||
"tone": "a bold and adventurous tone, like 'This takes you on a global journey.'",
|
||||
"article_prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Drop a street-level insight and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
),
|
||||
"x_prompt": (
|
||||
"Craft a tweet as {description}. Keep it under 280 characters, using {tone}. "
|
||||
"For article tweets, include the article title, a quirky hook, and the URL. "
|
||||
"For engagement tweets, ask a question about food trends, foods, or articles to engage the public. "
|
||||
"Avoid emojis and clichés like 'game-changer'. Return only the tweet text."
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
# File paths
|
||||
POSTED_RSS_TITLES_FILE = '/home/shane/foodie_automator/posted_rss_titles.json'
|
||||
POSTED_GOOGLE_TITLES_FILE = '/home/shane/foodie_automator/posted_google_titles.json'
|
||||
POSTED_REDDIT_TITLES_FILE = '/home/shane/foodie_automator/posted_reddit_titles.json'
|
||||
USED_IMAGES_FILE = '/home/shane/foodie_automator/used_images.json'
|
||||
AUTHOR_BACKGROUNDS_FILE = '/home/shane/foodie_automator/author_backgrounds.json'
|
||||
X_POST_COUNTS_FILE = '/home/shane/foodie_automator/x_post_counts.json'
|
||||
RECENT_POSTS_FILE = '/home/shane/foodie_automator/recent_posts.json'
|
||||
|
||||
EXPIRATION_DAYS = 3
|
||||
IMAGE_EXPIRATION_DAYS = 7
|
||||
|
||||
@@ -92,7 +253,7 @@ PRODUCT_KEYWORDS = ["best", "buy", "storage", "organizer", "shop", "price", "con
|
||||
|
||||
CATEGORIES = [
|
||||
"People", "Trends", "Travel",
|
||||
"Lifestyle", "Buzz", "Culture", "Health", "Drink", "Food" "Eats"
|
||||
"Lifestyle", "Buzz", "Culture", "Health", "Drink", "Food", "Eats"
|
||||
]
|
||||
|
||||
CTAS = [
|
||||
@@ -103,69 +264,6 @@ CTAS = [
|
||||
"Buzzing Over This? Share On <a href='{share_url}'><i class=\"tsi tsi-twitter\"></i></a>!"
|
||||
]
|
||||
|
||||
SUMMARY_PERSONA_PROMPTS = {
|
||||
"Visionary Editor": {
|
||||
"description": "a commanding food editor with a borderless view",
|
||||
"tone": "a polished and insightful tone, like 'This redefines culinary excellence.'",
|
||||
"prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Add a bold take and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
)
|
||||
},
|
||||
"Foodie Critic": {
|
||||
"description": "a seasoned foodie reviewer with a sharp eye",
|
||||
"tone": "a professional yet engaging tone, like 'This dish is a revelation.'",
|
||||
"prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Add a subtle opinion and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
)
|
||||
},
|
||||
"Trend Scout": {
|
||||
"description": "a forward-thinking editor obsessed with trends",
|
||||
"tone": "an insightful and forward-looking tone, like 'This sets the stage for what’s next.'",
|
||||
"prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Predict what’s next and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
)
|
||||
},
|
||||
"Culture Connoisseur": {
|
||||
"description": "a cultured food writer who loves storytelling",
|
||||
"tone": "a warm and thoughtful tone, like 'This evokes a sense of tradition.'",
|
||||
"prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Add a thoughtful observation and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
)
|
||||
},
|
||||
"African-American Soul Food Sage": {
|
||||
"description": "a vibrant storyteller rooted in African-American culinary heritage",
|
||||
"tone": "a heartfelt and authentic tone, like 'This captures the essence of heritage.'",
|
||||
"prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Add a heritage twist and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
)
|
||||
},
|
||||
"Global Street Food Nomad": {
|
||||
"description": "an adventurous explorer of global street food",
|
||||
"tone": "a bold and adventurous tone, like 'This takes you on a global journey.'",
|
||||
"prompt": (
|
||||
"You’re {description}. Summarize this article in {tone}. "
|
||||
"Explore a wide range of food-related topics, skip recipes. Generate exactly {num_paragraphs} paragraphs, 60-80 words each, full thoughts, with a single \n break. "
|
||||
"Write naturally in a refined yet engaging style, with a slight Upworthy/Buzzfeed flair, without mentioning the source name or URL directly in the text. "
|
||||
"Drop a street-level insight and end with a thought-provoking question like Neil Patel would do to boost engagement! Do not include emojis in the summary."
|
||||
)
|
||||
}
|
||||
}
|
||||
|
||||
REDDIT_CLIENT_ID = os.getenv("REDDIT_CLIENT_ID")
|
||||
REDDIT_CLIENT_SECRET = os.getenv("REDDIT_CLIENT_SECRET")
|
||||
REDDIT_USER_AGENT = os.getenv("REDDIT_USER_AGENT")
|
||||
|
||||
Reference in New Issue
Block a user