81 lines
2.1 KiB
Python
81 lines
2.1 KiB
Python
import random
|
|
import requests
|
|
|
|
import get_from_reddit
|
|
|
|
|
|
def get_from_danbooru(boards, nsfw=True):
|
|
"""
|
|
get_from_danbooru(boards)
|
|
|
|
returns a URL to an image on danbooru
|
|
"""
|
|
|
|
request = requests.get(
|
|
'https://danbooru.donmai.us/posts/random.json?tags=rating%3Aexplicit'
|
|
).json()
|
|
|
|
# List of tags we dont want images from
|
|
undesired_tags = [
|
|
'bestiality',
|
|
'pee',
|
|
'futa',
|
|
'futanari',
|
|
'yaoi'
|
|
]
|
|
# If any undesired tags show up in the request, try again
|
|
if not set(request['tag_string'].split()).isdisjoint(undesired_tags):
|
|
return get_from_danbooru(boards)
|
|
|
|
# Return the large firl url if available
|
|
if 'large_file_url' in request.keys():
|
|
if request['large_file_url'].startswith('/data/'):
|
|
return "https://danbooru.donmai.us{}".format(request['large_file_url'])
|
|
return request['large_file_url']
|
|
|
|
if 'file_url' in request.keys():
|
|
if request['file_url'].startswith('/data/'):
|
|
return "https://danbooru.donmai.us{}".format(request['file_url'])
|
|
return request['file_url']
|
|
|
|
return get_from_danbooru(boards)
|
|
|
|
|
|
def get_lewd():
|
|
"""
|
|
get_lewd()
|
|
|
|
Chooses between getting from reddit or danbooru
|
|
If reddit is chosen, picks a random subreddit from the list of boards and
|
|
grabs a random image using the get_from_reddit() method
|
|
"""
|
|
# List of subreddits that have the lewds we seek
|
|
boards = [
|
|
'2Booty',
|
|
'ahegao',
|
|
'bakunyuu_hentai',
|
|
'BigAnimeTiddies',
|
|
'hentaibreeding',
|
|
'hentaiclevage',
|
|
'oppailove',
|
|
'ecchi',
|
|
'fitdrawngirls',
|
|
'musclegirlart',
|
|
'fitmoe',
|
|
'hentai',
|
|
'rule34',
|
|
'rule34lol',
|
|
'WesternHentai',
|
|
'doujinshi',
|
|
'hentai_gif',
|
|
'muchihentai',
|
|
'Paizuri',
|
|
'chiisaihentai',
|
|
'dekaihentai',
|
|
'WaifusGonewild',
|
|
'thighdeology'
|
|
]
|
|
|
|
# This is really bad practice but pass boards to get_from_reddit AND danbooru so it doesnt error
|
|
return random.choice([get_from_reddit.get_image, get_from_danbooru])(boards=boards, nsfw=True)
|