aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/line_handler/ircv3.py1
-rw-r--r--modules/server_time.py17
2 files changed, 17 insertions, 1 deletions
diff --git a/modules/line_handler/ircv3.py b/modules/line_handler/ircv3.py
index 42afece7..8ffcec88 100644
--- a/modules/line_handler/ircv3.py
+++ b/modules/line_handler/ircv3.py
@@ -10,7 +10,6 @@ CAPABILITIES = [
utils.irc.Capability("away-notify"),
utils.irc.Capability("userhost-in-names"),
utils.irc.Capability("message-tags", "draft/message-tags-0.2"),
- utils.irc.Capability("server-time"),
utils.irc.Capability("cap-notify"),
utils.irc.Capability("batch"),
utils.irc.Capability("echo-message"),
diff --git a/modules/server_time.py b/modules/server_time.py
new file mode 100644
index 00000000..e363b341
--- /dev/null
+++ b/modules/server_time.py
@@ -0,0 +1,17 @@
+from src import ModuleManager, utils
+
+CAP = utils.irc.Capability("server-time")
+TAG = utils.irc.MessageTag("time")
+
+class Module(ModuleManager.BaseModule):
+ @utils.hook("received.cap.ls")
+ @utils.hook("received.cap.new")
+ def on_cap(self, event):
+ if CAP.available(event["capabilities"]):
+ return CAP.copy()
+
+ @utils.hook("raw.received")
+ def raw_recv(self, event):
+ server_time = TAG.get_value(event["line"].tags)
+ if not server_time == None:
+ event["server"].set_setting("last-server-time", server_time)