try: import time import requests import praw import os import json except ImportError: print("Please install the required python modules with pip install -r requirements.txt or pip3 install -r requirements.txt!") exit() current_time = time.strftime("%H-%M-%S") current_path = os.path.dirname(os.path.realpath(__file__)) subreddit_name = "r/memes" nswf = False def debugging_message(message : str): print("["+current_time+"][DEBUG] "+message) if not os.path.isfile(current_path+"/used-posts.json"): with open(current_path+"/used-posts.json", "w") as used_posts_file: json.dump({"ids": []}, used_posts_file) reddit = praw.Reddit(client_id="TB3qNrAO2cnRkpmI-Vd8hg", client_secret="AO61coSKJ8O8KLlHAqP6W-nvufdgUw", user_agent="Meme of the day" ) with open(current_path+"/used-posts.json", "r") as used_posts_file: used_posts = json.load(used_posts_file) debugging_message("Getting a post from r/"+subreddit_name) subreddit = reddit.subreddit(subreddit_name) hot_post = subreddit.hot() for post in hot_post: try: if post.id not in used_posts['ids']: if post.url.endswith(".png") or post.url.endswith(".jpg"): debugging_message("Found a new post: "+post.title+" ("+post.id+")") print(post.url) with open(current_path+"/used-posts.json", "w") as used_posts_file: used_posts['ids'].append(post.id) json.dump(used_posts, used_posts_file) debugging_message("Saving post to file") with open(current_path+'/wallpaper.png', "wb") as file: file.write(requests.get(post.url).content) debugging_message("Saving post to file done") except: debugging_message("Error while getting post skipping and continuing") with open(current_path+"/used-posts.json", "w") as used_posts_file: used_posts['ids'].append(post.id) json.dump(used_posts, used_posts_file)