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)