77 lines
2.1 KiB
Python
Executable File
77 lines
2.1 KiB
Python
Executable File
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
|
|
)
|