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

35 lines
1.1 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-05-16 05:07:27 +02: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(" | ", ", ")
if time:
# 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:])
return "%s - \x02%s\x02" % (time, place)
else:
return "Could not get the time for '%s'." % inp