Added timer.py
This commit is contained in:
parent
0c0e8c6b89
commit
fe197b97ea
1 changed files with 29 additions and 0 deletions
29
modules/timer.py
Normal file
29
modules/timer.py
Normal file
|
@ -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)
|
Loading…
Reference in a new issue