Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import requests
- from tinydb import TinyDB, Query, where
- import os
- import praw
- from config import *
- from time import sleep
- import datetime
- class Colour:
- Green, Red, White, Yellow = '\033[92m', '\033[91m', '\033[0m', '\033[93m'
- db_invited = TinyDB('data/invited.json')
- db_api = TinyDB('data/new_api.json')
- query = Query()
- switches = ['comment', 'submission']
- user_agent = 'Inviterer (by /u/impshum)'
- secret_sub = 'outsidethesoulstone'
- reddit = praw.Reddit(client_id=client_id,
- client_secret=client_secret,
- user_agent=user_agent,
- username=reddit_user,
- password=reddit_pass)
- def spared_seeker():
- #os.remove('data/new_api.json')
- db_api = TinyDB('data/new_api.json')
- count = 0
- counter = 0
- for switch in switches:
- end = 1
- start = 0
- for i in range(750):
- api = 'https://api.pushshift.io/reddit/search/{}/?subreddit=thanosdidnothingwrong&sort=desc&after={}h&before={}h'.format(switch, end, start)
- r = requests.get(api)
- data = r.json()
- for user in data['data']:
- count += 1
- try:
- author = user['author']
- flair = user['author_flair_css_class']
- if flair == 'thanos-spared':
- if not db_invited.contains(query.user == author):
- if not db_api.contains(query.user == author):
- db_api.insert({'user': author})
- counter += 1
- print(Colour.Yellow + '{}/{}: {} - {} - {}'.format(counter, count, author, switch, flair))
- except Exception as e:
- print(Colour.Red + 'Error: {}'.format(e))
- end += 1
- start += 1
- def invite_bot():
- count = 0
- counter = 0
- users = []
- all_count = len(db_invited.all())
- api_count = len(db_api.all())
- for user in db_api.all():
- counter += 1
- username = user['user']
- if not db_invited.contains(query.user == username):
- try:
- reddit.subreddit(secret_sub).contributor.add(username)
- users.append(username)
- db_invited.insert({'user': username})
- except Exception as e:
- print(e)
- count += 1
- d = datetime.datetime.now()
- d = d.strftime('%H:%M:%S')
- print(Colour.Green + '{}/{}/{}: {} - {}'.format(counter, api_count, all_count, username, d))
- if count == 500:
- title = 'INVITE BOT UPDATE'
- msg = 'Survivors found and invited are\nu/' + ', u/'.join(users)
- reddit.subreddit(secret_sub).submit(title=title, selftext=msg)
- count = 0
- users = []
- sleep(100)
- invite_bot()
- #spared_seeker()
- #invite_bot()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement