aboutsummaryrefslogtreecommitdiff
path: root/modules/user_time.py
diff options
context:
space:
mode:
authorGravatar jesopo2019-07-27 21:09:45 +0100
committerGravatar jesopo2019-07-27 21:09:45 +0100
commit047a21629f492d85ae99e9688c82cb1b6a9062da (patch)
tree9c56150e741b76abf661d95cf3f38ad4b11cf199 /modules/user_time.py
parentrefactor youtube.py and handle playlist urls (diff)
signature
add !timezone
Diffstat (limited to 'modules/user_time.py')
-rw-r--r--modules/user_time.py36
1 files changed, 25 insertions, 11 deletions
diff --git a/modules/user_time.py b/modules/user_time.py
index 0e6fa6ce..47ba1708 100644
--- a/modules/user_time.py
+++ b/modules/user_time.py
@@ -5,24 +5,26 @@ import datetime
from src import ModuleManager, utils
API = "http://worldtimeapi.org/api/timezone/%s"
+NOLOCATION = "%s doesn't have a location set"
class Module(ModuleManager.BaseModule):
_name = "Time"
- @utils.hook("received.command.time")
- def time(self, event):
- """
- :help: Get the time for you or someone else
- :usage: [nickname]
- :require_setting: location
- :require_setting_unless: 1
- """
+ def _find_setting(self, event):
target_user = event["user"]
+
if event["args"]:
target_user = event["server"].get_user(event["args_split"][0])
- location = target_user.get_setting("location", None)
+ return target_user, target_user.get_setting("location", None)
+ @utils.hook("received.command.time")
+ @utils.kwarg("help", "Get the time for you or someone else")
+ @utils.kwarg("usage", "[nickname]")
+ @utils.kwarg("require_setting", "location")
+ @utils.kwarg("require_setting_unless", "1")
+ def time(self, event):
+ target_user, location = self._find_setting(event)
if not location == None:
page = utils.http.request(API % location["timezone"], json=True)
@@ -35,5 +37,17 @@ class Module(ModuleManager.BaseModule):
else:
raise utils.EventsResultsError()
else:
- event["stderr"].write("%s doesn't have a location set" %
- target_user.nickname)
+ event["stderr"].write(NOLOCATION % target_user.nickname)
+
+ @utils.hook("received.command.timezone")
+ @utils.kwarg("help", "Get the timezone for you or someone else")
+ @utils.kwarg("usage", "[nickname]")
+ @utils.kwarg("require_setting", "location")
+ @utils.kwarg("require_setting_unless", "1")
+ def timezone(self, event):
+ target_user, location = self._find_setting(event)
+ if not location == None:
+ event["stdout"].write("%s is in %s" % (target_user.nickname,
+ location["timezone"]))
+ else:
+ event["stderr"].write(NOLOCATION % target_user.nickname)