dailybot/art.py
2021-08-21 16:08:53 -04:00

45 lines
1.1 KiB
Python

import requests
import random
import re
host = "https://collectionapi.metmuseum.org/public/collection/v1/"
# get the list of artwork
r = requests.get(host + 'objects')
objects = r.json()['objectIDs']
def getArt(term):
searchObjects = objects
if term:
query = {'q': term, 'hasImages': 'true'}
r = requests.get(host + 'search', params=query)
searchObjects = r.json()['objectIDs']
if not searchObjects or len(searchObjects) == 0:
return None
tries = 10
while tries > 0:
r = requests.get(host + 'objects/' + str(random.choice(searchObjects)))
j = r.json()
if j['primaryImage']:
return j
tries -= 1
return None
class Module:
def __init__(self):
self.commands = ['art']
self.manual = {
"desc": ("Post random art from metmuseum's api"),
"bot_commands": {"art": {"usage": lambda x: f"{x}art"}}
}
def main(i, irc):
msg = getArt("")
if msg is None:
msg = "No result"
else:
msg = '"' + msg['title'] + '" ' + msg['objectDate'] + ' ' + msg['primaryImage']
irc.privmsg(i.channel, msg)