diff options
| author | 2020-01-17 15:58:37 +0000 | |
|---|---|---|
| committer | 2020-01-17 15:58:37 +0000 | |
| commit | 5c7026886de36307b8852e8754d27a17cf9c78d6 (patch) | |
| tree | bfec90d4633464fbfd0b1a7aa1e9a66c1962b98c /src/core_modules/ircv3_server_time.py | |
| parent | add BufferLine.timestamp (`datetime.datetime` object) (diff) | |
| signature | ||
overwrite BufferLine.timestamp with ircv3 server-time when available
Diffstat (limited to 'src/core_modules/ircv3_server_time.py')
| -rw-r--r-- | src/core_modules/ircv3_server_time.py | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/src/core_modules/ircv3_server_time.py b/src/core_modules/ircv3_server_time.py index c9790d95..270d56d9 100644 --- a/src/core_modules/ircv3_server_time.py +++ b/src/core_modules/ircv3_server_time.py @@ -5,8 +5,21 @@ TAG = utils.irc.MessageTag("time") @utils.export("cap", CAP) class Module(ModuleManager.BaseModule): + def _get(self, tags): + return TAG.get_value(tags) + @utils.hook("raw.received") def raw_recv(self, event): - server_time = TAG.get_value(event["line"].tags) + server_time = self._get(event["line"].tags) if not server_time == None: event["server"].set_setting("last-server-time", server_time) + + @utils.hook("received.message.private") + @utils.hook("received.message.channel") + @utils.hook("received.notice.private") + @utils.hook("received.notice.channel") + def message(self, event): + server_time = self._get(event["line"].tags) + if not server_time == None: + dt = utils.datetime.iso8601_parse(server_time) + event["buffer_line"].timestamp = dt |
