diff options
| author | 2019-11-18 15:57:27 +0000 | |
|---|---|---|
| committer | 2019-11-18 15:57:27 +0000 | |
| commit | cec260ea3ceab0d6fa9ca75adb282369326bb99b (patch) | |
| tree | e9494eeaa5716f2d1a98c034fa6b17905e646e74 | |
| parent | move "+5m" syntax parsing out to utils.parse (diff) | |
| signature | ||
add optional duration for !ignore
| -rw-r--r-- | modules/ignore.py | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/modules/ignore.py b/modules/ignore.py index 3108ea71..11ad58f3 100644 --- a/modules/ignore.py +++ b/modules/ignore.py @@ -49,14 +49,16 @@ class Module(ModuleManager.BaseModule): :usage: <nickname> [command] :permission: ignore """ + time, args = utils.parse.timed_args(event["args_split"], 1) + setting = "ignore" for_str = "" - if len(event["args_split"]) > 1: - command = event["args_split"][1].lower() + if len(args) > 1: + command = args[1].lower() setting = "ignore-%s" % command for_str = " for '%s'" % command - user = event["server"].get_user(event["args_split"][0]) + user = event["server"].get_user(args[0]) if user.get_setting(setting, False): event["stderr"].write("I'm already ignoring '%s'%s" % (user.nickname, for_str)) @@ -65,6 +67,14 @@ class Module(ModuleManager.BaseModule): event["stdout"].write("Now ignoring '%s'%s" % (user.nickname, for_str)) + if not time == None: + self.timers.add_persistent("unignore", time, + user_id=user.get_id(), setting=setting) + @utils.hook("timer.unignore") + def _timer_unignore(self, event): + self.bot.database.user_settings.delete( + event["user_id"], event["setting"]) + @utils.hook("received.command.unignore", min_args=1) def unignore(self, event): """ |
