From fe197b97ea0f80950bd3b31ca47b49260c13ca9e Mon Sep 17 00:00:00 2001 From: jesopo Date: Thu, 20 Dec 2018 23:54:35 +0000 Subject: [PATCH] Added timer.py --- modules/timer.py | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 modules/timer.py 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)