diff options
| author | 2016-04-19 13:25:50 +0100 | |
|---|---|---|
| committer | 2016-04-19 13:25:50 +0100 | |
| commit | bc12c7789199d2e93513ea018badaf87815ae7e6 (patch) | |
| tree | e7a3204ffda43fcf25584f2e310fea052cd1e441 /modules/in.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 'modules/in.py')
| -rw-r--r-- | modules/in.py | 40 |
1 files changed, 0 insertions, 40 deletions
diff --git a/modules/in.py b/modules/in.py index 81b94111..4f4aef51 100644 --- a/modules/in.py +++ b/modules/in.py @@ -10,40 +10,8 @@ class Module(object): bot.events.on("received").on("command").on("in").hook( self.in_command, min_args=2, help="Set a reminder", usage="<time> <message>") - bot.events.on("received").on("numeric").on("001").hook( - self.on_connect) bot.events.on("timer").on("in").hook(self.timer_due) - def on_connect(self, event): - self.load_reminders(event["server"]) - - def remove_timer(self, target, due_time, server_id, nickname, message): - setting = "in-%s" % nickname - reminders = self.bot.database.get_server_setting(server_id, setting, []) - try: - reminders.remove([target, due_time, server_id, nickname, message]) - except: - print("failed to remove a reminder. huh.") - if reminders: - self.bot.database.set_server_setting(server_id, - setting, reminders) - else: - self.bot.database.del_server_setting(server_id, - setting) - - def load_reminders(self, server): - reminders = server.find_settings("in-%") - for user_reminders in reminders: - for target, due_time, server_id, nickname, message in user_reminders[1]: - time_left = due_time-time.time() - if time_left > 0: - self.bot.add_timer("in", time_left, target=target, - due_time=due_time, server_id=server_id, nickname=nickname, - message=message) - else: - self.remove_timer(target, due_time, server_id, nickname, - message) - def in_command(self, event): seconds = Utils.from_pretty_time(event["args_split"][0]) message = " ".join(event["args_split"][1:]) @@ -51,12 +19,6 @@ class Module(object): if seconds <= SECONDS_MAX: due_time = int(time.time())+seconds - setting = "in-%s" % event["user"].nickname - reminders = event["server"].get_setting(setting, []) - reminders.append([event["target"].name, due_time, - event["server"].id, event["user"].nickname, message]) - event["server"].set_setting(setting, reminders) - self.bot.add_timer("in", seconds, target=event["target"].name, due_time=due_time, server_id=event["server"].id, nickname=event["user"].nickname, @@ -77,5 +39,3 @@ class Module(object): "%s, this is your reminder: %s" % ( event["nickname"], event["message"])) break - self.remove_timer(event["target"], event["due_time"], - event["server_id"], event["nickname"], event["message"]) |
