diff --git a/README.md b/README.md index 0881e54..620aabc 100644 --- a/README.md +++ b/README.md @@ -33,6 +33,11 @@ - Used for creating [Showcase Sunday Megathreads](https://www.reddit.com/r/developersIndia/search/?q=flair%3A%20Showcase%20Sunday&restrict_sr=1) posts in the subreddit. - ![action build](https://github.com/developersIndia/deviras/actions/workflows/showcase-sunday.yml/badge.svg) +### [ama-summarizer](https://github.com/developersIndia/deviras/blob/main/ama-summarizer/main.py/) +- The Python script to help during AMAs. It generates a markdown file of questions and links of the questions the AMA guest has answered. + + + ## Setup 1. Clone the repo diff --git a/ama-summarizer/main.py b/ama-summarizer/main.py new file mode 100644 index 0000000..e136224 --- /dev/null +++ b/ama-summarizer/main.py @@ -0,0 +1,60 @@ +import praw +import os +from dotenv import dotenv_values + +def get_reddit_instance(): + # Reddit API credentials + user_agent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 14.2; rv:109.0) Gecko/20100101 Firefox/121.0' + 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"] + + # Create a Reddit instance + reddit = praw.Reddit(client_id=client_id, + client_secret=client_secret, + password=reddit_pass, + user_agent=user_agent, + username=username) + return reddit + + +def get_post_url(): + + post_url = input("Enter the AMA post URL: ") # reddit.com URLs preferred + return post_url + +def get_guest_username(): + + guest_username = input("Enter the AMA guest username: ") + return guest_username + +def main(): + reddit = get_reddit_instance() + + post_url = get_post_url() + guest_username = get_guest_username() + + submission = reddit.submission(url=post_url) + submission.comments.replace_more(limit=None) + + markdown_file = '' + question_number = 1 + + for comment in submission.comments.list(): + if comment.author and comment.author.name.lower() == guest_username.lower(): + question_text = comment.parent().body.replace('\n', ' ') + question_link = 'https://reddit.com' + comment.parent().permalink + markdown_file += f'{question_number}. [{question_text}]({question_link})\n' + question_number += 1 + + # UTF-8 encoding + with open('questions.md', 'w', encoding='utf-8') as file: + file.write(markdown_file) + + print('Markdown file questions.md generated successfully.') + +if __name__ == "__main__": + main() + + diff --git a/ama-summarizer/readme.md b/ama-summarizer/readme.md new file mode 100644 index 0000000..18b4c47 --- /dev/null +++ b/ama-summarizer/readme.md @@ -0,0 +1,5 @@ +The Python script to help during AMAs. It generates a markdown file of questions and links of the questions the AMA guest has answered. + +This script is designed to generate a Markdown file containing questions and links from a Reddit post's comments. It specifically focuses on questions or comments answered by a specific user. + +The resulting Markdown file will contain a list of questions or comments that the specified guest has answered, with each question numbered and linked to the corresponding Reddit comment.