Guest User

1234qee

a guest
Sep 12th, 2018
53
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.88 KB | None | 0 0
  1. import time
  2. import praw
  3.  
  4. TIME_TO_MESSAGE = 1 * 60
  5. TIME_TO_DELETE = 3 * 60
  6. TIME_TO_SLEEP = 1 * 60
  7.  
  8. SUBREDDIT_NAME = '@@@'
  9. USERNAME = '@@@'
  10. PASSWORD = '@@@'
  11. CLIENT_ID = '@@@'
  12. CLIENT_SECRET = '@@@'
  13. USER_AGENT = '@@@'
  14.  
  15. reddit = praw.Reddit(
  16. client_id=CLIENT_ID,
  17. client_secret=CLIENT_SECRET,
  18. password=PASSWORD,
  19. user_agent=USER_AGENT,
  20. username=USERNAME)
  21.  
  22. seenPosts = []
  23. DELETION_TITLE = "Your post was deleted because you didn't flair"
  24. WARNING_TITLE = "Please flair your post"
  25.  
  26.  
  27. def makeWarning(post):
  28. subredditLink = "https://reddit.com/" + post.subreddit_name_prefixed
  29. return "Hello {name}, \n Please give your post, [{postName}]({post}), a flair, otherwise it will be deleted after {TIME_TO_DELETE} minutes since posting. \n If you have any questions please send a message to the mods of [{subreddit}]({subredditLink}), not this bot.".format(
  30. name=post.author,
  31. postName=post.title,
  32. post=post.url,
  33. TIME_TO_DELETE=int(TIME_TO_DELETE / 60),
  34. subreddit=post.subreddit,
  35. subredditLink=subredditLink)
  36.  
  37.  
  38. def makeDeletionText(post):
  39. subredditLink = "https://reddit.com/" + post.subreddit_name_prefixed
  40. return "Hello {name}, \n Your post ,{postName}, in [{subreddit}]({subredditLink}) was deleted because you failed to give it a flair in a timely manner. \n If you have any questions please send them to the mod team of [{subreddit}]({subredditLink}), not this bot.".format(
  41. name=post.author,
  42. postName=post.title,
  43. subreddit=post.subreddit,
  44. subredditLink=subredditLink)
  45.  
  46.  
  47. if SUBREDDIT_NAME not in reddit.user.moderator_subreddits():
  48. print('This bot needs mod-rights to delete posts.')
  49. exit()
  50.  
  51. while True:
  52. now = time.time()
  53. for post in reddit.subreddit(SUBREDDIT_NAME).stream.submissions(
  54. pause_after=0):
  55.  
  56. if post is None:
  57. break
  58.  
  59. elif post.link_flair_text is not None:
  60. if post in seenPosts:
  61. seenPosts.remove(post)
  62. #print(seenPosts)
  63. #from here on down all posts have no flair
  64.  
  65. elif now - post.created_utc > TIME_TO_DELETE:
  66. if post in seenPosts:
  67. seenPosts.remove(post)
  68. #print(seenPosts)
  69. redditor = post.author
  70. sub = post.subreddit
  71. deletionText = makeDeletionText(post)
  72. redditor.message(DELETION_TITLE, deletionText, sub)
  73. post.mod.remove()
  74.  
  75. elif now - post.created_utc > TIME_TO_MESSAGE:
  76. if post not in seenPosts:
  77. redditor = post.author
  78. sub = post.subreddit
  79. warningText = makeWarning(post)
  80. redditor.message(WARNING_TITLE, warningText, sub)
  81. seenPosts.append(post)
  82. #print(seenPosts)
  83. time.sleep(TIME_TO_SLEEP)
Add Comment
Please, Sign In to add comment