-
Notifications
You must be signed in to change notification settings - Fork 3
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Add the AMA Summariser - Question & Question Links to Markdown Script (…
…#14)
- Loading branch information
Showing
3 changed files
with
70 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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() | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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. |