import os from generate_config import generate_config import json import requests import tempfile import time parent = os.path.dirname(os.path.realpath(__file__)) if not os.path.exists(os.path.join(parent, 'config.json')): generate_config("lolibot", "write:statuses write:media") with open(os.path.join(parent, 'config.json'), 'r') as config_file: config = json.load(config_file) session = requests.Session() session.headers.update({"Authorization" : "Bearer " + config['user_token']}) def make_post(): post = requests.get('https://gelbooru.com/index.php', params={'page':'dapi','s':'post', 'q':'index', 'limit':1, 'tags':'loli flat_chest sort:random score:>=100 -lowres -video', 'json':1}).json()['post'][0] print(post['id']) with tempfile.TemporaryFile('w+b', suffix='.' + post['file_url'].split('.')[-1]) as image: #with open('image.' + post['file_url'].split('.')[-1], 'w+b') as image: image.write(requests.get(post['file_url']).content) image.seek(0) attachment = session.post(config['instance'] + '/api/v2/media', files={'file':image}, data={'description': 'gelbooru ID: ' + str(post['id'])}).json() content = 'source: https://gelbooru.com/index.php?page=post&s=view&id=' + str(post['id']) if not 'source_request' in post['tags'].split(' '): content = 'source: ' + post['source'] sensitive = True session.post(config['instance'] + '/api/v1/statuses', json={'status':content, 'media_ids':[attachment['id']], 'visibility':'unlisted', 'sensitive': True}) while True: make_post() time.sleep(1 * 60 * 60)