aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-10-30 11:42:00 +0000
committerGravatar jesopo2019-10-30 11:42:00 +0000
commit35cc2d539de95bbb082917efae865f04cfe0f178 (patch)
treef838f7fc2fddaebeb1531f57418aaa2422a41639
parentactually set server._sasl_timeout (diff)
signature
!seen seen-info should be per-channel, not network wide
closes #196
-rw-r--r--modules/seen.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/modules/seen.py b/modules/seen.py
index 070b8f39..c009acfd 100644
--- a/modules/seen.py
+++ b/modules/seen.py
@@ -7,7 +7,7 @@ from src import ModuleManager, utils
class Module(ModuleManager.BaseModule):
def _change_seen(self, channel, user, action):
user.set_setting("seen", time.time())
- user.set_setting("seen-info", {"action": action})
+ channel.set_user_setting(user.get_id(), "seen-info", {"action": action})
@utils.hook("formatted.message.channel")
@utils.hook("formatted.notice.channel")
@@ -30,14 +30,18 @@ class Module(ModuleManager.BaseModule):
seen_seconds = user.get_setting("seen")
if seen_seconds:
- seen_info = user.get_setting("seen-info", None)
- seen_info = "" if seen_info == None else (
- " (%s%s)" % (seen_info["action"], utils.consts.RESET))
+ seen_info = None
+ if event["is_channel"]:
+ seen_info = event["target"].get_user_setting(
+ event["user"].get_id(), "seen-info", None)
+ if seen_info:
+ seen_info = " (%s%s)" % (seen_info["action"],
+ utils.consts.RESET)
since = utils.to_pretty_time(time.time()-seen_seconds,
max_units=2)
event["stdout"].write("%s was last seen %s ago%s" % (
- event["args_split"][0], since, seen_info))
+ event["args_split"][0], since, seen_info or ""))
else:
event["stderr"].write("I have never seen %s before." % (
event["args_split"][0]))