aboutsummaryrefslogtreecommitdiff
path: root/modules/timer.py
diff options
context:
space:
mode:
authorGravatar jesopo2018-12-20 23:54:35 +0000
committerGravatar jesopo2018-12-20 23:54:35 +0000
commitfe197b97ea0f80950bd3b31ca47b49260c13ca9e (patch)
treee498d3addb5189b240475fe11175fd4df92d779d /modules/timer.py
parentNR: list only called/total full count for service (diff)
signature
Added timer.py
Diffstat (limited to 'modules/timer.py')
-rw-r--r--modules/timer.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/timer.py b/modules/timer.py
new file mode 100644
index 00000000..096d703a
--- /dev/null
+++ b/modules/timer.py
@@ -0,0 +1,29 @@
+import time
+from src import ModuleManager, utils
+
+class Module(ModuleManager.BaseModule):
+ def _get_timer(self, user):
+ return user.get_setting("timer", None)
+ def _set_timer(self, user, timestamp: float):
+ user.set_setting("timer", timestamp)
+ def _del_timer(self, user):
+ user.del_setting("timer")
+
+ @utils.hook("recevied.command.starttimer")
+ def start_timer(self, event):
+ if self._get_timer(event["user"]):
+ raise utils.EventError("You already have a timer")
+
+ self._set_timer(event["user"], time.time())
+ event["stdout"].write("Timer started")
+
+ @utils.hook("received.command.stoptimer")
+ def stop_timer(self, event):
+ timer = self._get_timer(event["user"])
+ if not timer:
+ raise utils.EventError("No timer started")
+
+ self._del_timer(event["user"])
+ elapsed = time.time()-timer
+ pretty = utils.to_pretty_time(int(elapsed))
+ event["stdout"].write("Timer stopped at %s" % pretty)