diff options
| author | 2016-04-19 13:25:50 +0100 | |
|---|---|---|
| committer | 2016-04-19 13:25:50 +0100 | |
| commit | bc12c7789199d2e93513ea018badaf87815ae7e6 (patch) | |
| tree | e7a3204ffda43fcf25584f2e310fea052cd1e441 /Timer.py | |
| parent | entirely reworked the timer system to work with the event system, will eventu... (diff) | |
did what I said I would sooner than I thought I would. centralised persisting timers through bot restarts.
Diffstat (limited to 'Timer.py')
| -rw-r--r-- | Timer.py | 17 |
1 files changed, 11 insertions, 6 deletions
@@ -1,22 +1,27 @@ -import time +import time, uuid class Timer(object): - def __init__(self, bot, event_name, delay, **kwargs): + def __init__(self, bot, event_name, delay, next_due=None, **kwargs): + self.id = uuid.uuid4().hex self.bot = bot self.event_name = event_name self.delay = delay + if next_due: + self.next_due = next_due + else: + self.set_next_due() self.kwargs = kwargs self._done = False self.call_count = 0 - def set_started_time(self): - self.started_time = time.time() + def set_next_due(self): + self.next_due = time.time()+self.delay def due(self): return self.time_left() <= 0 def time_left(self): - return (self.started_time+self.delay)-time.time() + return self.next_due-time.time() def call(self): self._done = True @@ -26,7 +31,7 @@ class Timer(object): def redo(self): self._done = False - self.set_started_time() + self.set_next_due() def done(self): return self._done |
