deviras/showcase-sunday/main.py
2024-01-14 12:41:50 +05:30

67 lines
2.3 KiB
Python

import datetime
import praw
import os
client_id = os.environ["REDDIT_CLIENT_ID"]
client_secret = os.environ["REDDIT_CLIENT_SECRET"]
reddit_pass = os.environ["REDDIT_PASSWORD"]
username = os.environ["REDDIT_USERNAME"]
user_agent = 'Showcase Sunday Megathread'
sub = "developersIndia"
def is_second_sunday():
today = datetime.date.today()
first_day_of_month = today.replace(day=1)
day_of_week = first_day_of_month.weekday()
# Calculate the date of the second Sunday
second_sunday = first_day_of_month + datetime.timedelta(days=(6 - day_of_week + 7) % 7 + 7)
return today == second_sunday
def create_showcase_sunday_megathread(subreddit):
flair = next(
filter(
lambda flair: "Showcase Sunday" in flair["flair_text"],
subreddit.flair.link_templates.user_selectable(),
)
)
title = "Showcase Sunday Megathread - {month} {year}".format(month=datetime.date.today().strftime("%B"), year=datetime.date.today().year)
text = """
It's time for our monthly showcase thread where we celebrate the incredible talent in our community. Whether it's an app, a website, a tool, or anything else you've built, we want to see it! Share your latest creations, side projects, or even your work-in-progress.
Let's inspire each other and celebrate the diverse skills we have. Comment below with details about what you've built, the tech stack used, and any interesting challenges faced along the way.
**Showcase Sunday thread is posted on the second Sunday of every month. You can find the [schedule on our calendar](https://developersindia.in/events-calendar).**
"""
submission = subreddit.submit(
title,
selftext=text,
flair_id=flair["flair_template_id"],
)
submission.mod.approve()
submission.mod.sticky()
submission.mod.distinguish()
return submission
def main():
reddit = praw.Reddit(
client_id=client_id,
client_secret=client_secret,
username=username,
password=reddit_pass,
user_agent=user_agent
)
subreddit = reddit.subreddit(sub)
if is_second_sunday():
create_showcase_sunday_megathread(subreddit)
print("Showcase Sunday Megathread created successfully!")
else:
print("Skipping. Not the second Sunday of the month")
if __name__ == "__main__":
main()