Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from __future__ import print_function
- import praw
- import getpass
- import pprint
- import sys
- from time import sleep
- #Adding Python 3 functionality thanks to Akuli!
- if sys.version_info[0] < 3:
- input = raw_input
- #Intro to what the program is & the login setup.
- print("[*] Welcome To Cryptics Reddit API.")
- r = praw.Reddit(user_agent='Test Script By Cryptic')
- Username = raw_input(">> Username: ")
- Password = getpass.getpass(prompt=(">> Password: "))
- r.login(Username, Password)
- while True:
- #Making a menu for the user to select from.
- print("[*] Successfully signed in, what would you like to do?")
- print(" 1> Get saved posts.\n 2> Send a message.\n 3> Mark messages as read.\n 4> Get top posts for a subreddit.\n 5> Submit a post.\n 6> Submit URL post.\n 7> Get user karma.\n 8> Quit.")
- option = raw_input("[*] Please choose a number: ")
- #Getting saved posts:
- if option == "1":
- for saved in r.user.get_saved():
- print(saved)
- print("[*] That's all of your saved posts!")
- #Sending a message:
- elif option == "2":
- user = raw_input(">> User: ")
- subject = raw_input(">> Subject: ")
- message = raw_input(">> Message: ")
- r.send_message(user, subject, message)
- sleep(1)
- print("[*] Message sent.")
- #Marking messages as read:
- elif option == "3":
- print(">>Marking messages as read...")
- sleep(1)
- for msg in r.get_unread(limit=None):
- msg.mark_as_read()
- sleep(0.5)
- print("[*] Messages successfully marked as read!")
- #Getting top posts:
- elif option == "4":
- subreddit = raw_input(">> Subreddit: ")
- number = int(raw_input(">> Amount of posts: "))
- submissions = r.get_subreddit(subreddit).get_top(limit=(number))
- for item in submissions:
- print(item)
- print("[*] Posts successfully pulled.")
- #Submitting a post:
- elif option == "5":
- sub = raw_input(">> Subreddit: ")
- title = raw_input(">> Title: ")
- text = raw_input(">> Text: ")
- r.submit(sub, title, text=(text))
- print("[*] Successfully posted.")
- #Submitting URL post:
- elif option == "6":
- sub = raw_input(">> Subreddit: ")
- title = raw_input(">> Title: ")
- url = raw_input(">> URL: ")
- r.submit(sub, title, url=(url))
- print("[*] Successfully posted.")
- #Getting user karma:
- elif option == "7":
- username = raw_input(">> Enter user: ")
- limit = int(raw_input(">> Enter limit: "))
- user = r.get_redditor(username)
- thing_limit =(limit)
- gen = user.get_submitted(limit=thing_limit)
- karma_by_subreddit = {}
- for thing in gen:
- subreddit = thing.subreddit.display_name
- karma_by_subreddit[subreddit] = (karma_by_subreddit.get(subreddit, 0)+ thing.score)
- pprint.pprint(karma_by_subreddit)
- #For exiting the API:
- elif option == "8":
- sys.exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement