This repository has been archived on 2023-04-13. You can view files and clone it, but cannot push or open issues or pull requests.
CloudBot/plugins/time.py

41 lines
1.3 KiB
Python
Raw Normal View History

# Plugin by Lukeroge
2012-03-11 20:45:49 +01:00
from util import hook
from util import http
from util.formatting import capitalize_first
2011-11-20 10:23:31 +01:00
api_url = 'http://api.wolframalpha.com/v2/query?format=plaintext'
2011-11-20 10:23:31 +01:00
@hook.command("time")
def time_command(inp, bot=None):
2012-02-28 03:03:43 +01:00
".time <area> -- Gets the time in <area>"
query = "current time in %s" % inp
api_key = bot.config.get("api_keys", {}).get("wolframalpha", None)
if not api_key:
return "error: no wolfram alpha api key set"
request = http.get_xml(api_url, input=query, appid=api_key)
time = " ".join(request.xpath("//pod[@title='Result']/subpod/plain" \
"text/text()"))
time = time.replace(" | ", ", ")
2012-04-20 15:45:02 +02:00
# nice place name for UNIX time
if inp.lower() == "unix":
place = "Unix Epoch"
else:
place = capitalize_first(" ".join(request.xpath("//pod[@title='Input" \
" interpretation']/subpod/plaintext/text()"))[16:])
if time:
# if wolfram alpha had to guess a place, then show the place it chose
#if request.xpath("//assumptions"):
# return "%s - \x02%s\x02" % (time, place)
#else:
# return time
return "%s - \x02%s\x02" % (time, place)
else:
2012-04-20 15:45:02 +02:00
return "Could not get the time for '%s'" % inp