File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 2020 Union ,
2121 cast ,
2222)
23+ import datetime
2324
2425from irclib .errors import ParseError
2526
6970SelfT = TypeVar ("SelfT" )
7071
7172
73+ def parse_server_time (value : Optional [str ]) -> datetime .datetime :
74+ if value :
75+ ts = datetime .datetime .strptime (value , '%Y-%m-%dT%H:%M:%S.%fZ' )
76+ else :
77+ ts = datetime .datetime .utcnow ()
78+
79+ return ts .replace (tzinfo = datetime .timezone .utc )
80+
81+
7282class Parseable (metaclass = ABCMeta ):
7383 """Abstract class for parseable objects"""
7484
@@ -582,6 +592,16 @@ def __init__(
582592 self ._command = command
583593 self ._parameters = _parse_params (parameters )
584594
595+ self .time = parse_server_time (self .get_tag_value ('time' ))
596+ self .message_id = self .get_tag_value ('msgid' )
597+ self .batch_id = self .get_tag_value ('batch' )
598+
599+ def get_tag_value (self , name ):
600+ if self .tags and name in self .tags :
601+ return self .tags [name ].value
602+
603+ return None
604+
585605 @property
586606 def tags (self ) -> MsgTagList :
587607 """IRC tag list"""
You can’t perform that action at this time.
0 commit comments