Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import praw
- import time
- import datetime
- import sqlite3
- import re
- import sys
- data = sqlite3.connect('findareddit.db')
- cur = data.cursor()
- cur.execute('CREATE TABLE IF NOT EXISTS checked (id)')
- data.commit()
- class submissionSearch(object):
- def __init__(self, submission):
- self.submission = submission
- self.created = submission.created_utc
- self.day_previous = time.mktime(datetime.datetime.now().timetuple()) - (24*60*60)
- self.id = submission.id
- self.author = submission.author
- self.run()
- def check_database(self):
- cur.execute('SELECT * FROM checked WHERE id=?',[self.id])
- if not cur.fetchone():
- return True
- else:
- return False
- def submit_to_database(self):
- cur.execute('INSERT INTO checked VALUES(?)',[self.id])
- data.commit()
- print('Saved to database!')
- def check_age(self):
- if int(self.created - self.day_previous) > 0:
- return True
- else:
- return False
- def find_suggested(self):
- subreddit_list = []
- for comment in self.submission.comments:
- try:
- subreddit_start = str(comment.body)[re.search('r/',str(comment.body)).span()[1]:]
- subreddit = subreddit_start[subreddit_start.find(' ')]
- subreddit_list.append(subreddit)
- except:
- pass
- return subreddit_list
- def set_flair(self):
- subreddit_list = self.find_suggested()
- for comment in reddit.redditor(str(self.author)).new(limit=100):
- if any(subreddit.lower() in str(comment.subreddit).lower() for subreddit in subreddit_list) and int(comment.created_utc - self.created_utc) > 0:
- self.submission.mod.flair(text='Found',css_class='blank')
- print('Flaired submission by /u/{}'.format(self.author))
- self.submit_to_database()
- def run(self):
- try:
- if self.check_database() is True and self.check_age() is True:
- self.set_flair()
- else:
- pass
- except Exception as e:
- time.sleep(10)
- if e is KeyboardInterrupt:
- sys.exit()
- else:
- print(e)
- def main():
- global reddit
- reddit = praw.Reddit(username='RhodoMod',password='ThunderingMisusingWesterlyDescriptive@123',client_id='4QhscarQGdK50w',client_secret='wA7JnUwWNWdH3-htRR_bToqHIHg',user_agent='Moderator for /r/findareddit')
- while True:
- print('Scanning subreddit...')
- for submission in reddit.subreddit('findareddit').new(limit=100):
- submissionSearch(submission)
- print('Finished scanning, will begin new set momentarily...')
- time.sleep(60*5)
- if __name__ == '__main__':
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement