29 lines
827 B
Python
29 lines
827 B
Python
from util import hook, http
|
|
from random import choice
|
|
|
|
|
|
@hook.api_key('yahoo')
|
|
@hook.command
|
|
def answer(inp, api_key=None):
|
|
".answer <query> -- find the answer to a question on Yahoo! Answers"
|
|
|
|
url = "http://answers.yahooapis.com/AnswersService/V1/questionSearch"
|
|
|
|
result = http.get_json(url,
|
|
query=inp,
|
|
search_in="question",
|
|
output="json",
|
|
appid=api_key)
|
|
|
|
questions = result.get("all", {}).get("questions", [])
|
|
answered = filter(lambda x: x.get("ChosenAnswer", ""), questions)
|
|
|
|
if not answered:
|
|
return "no results"
|
|
|
|
chosen = choice(answered)
|
|
answer, link = chosen["ChosenAnswer"], chosen["Link"]
|
|
response = "%s -- %s" % (answer, link)
|
|
|
|
return " ".join(response.split())
|