File tree Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Expand file tree Collapse file tree 1 file changed +20
-0
lines changed Original file line number Diff line number Diff line change 20
20
Union ,
21
21
cast ,
22
22
)
23
+ import datetime
23
24
24
25
from irclib .errors import ParseError
25
26
69
70
SelfT = TypeVar ("SelfT" )
70
71
71
72
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
+
72
82
class Parseable (metaclass = ABCMeta ):
73
83
"""Abstract class for parseable objects"""
74
84
@@ -582,6 +592,16 @@ def __init__(
582
592
self ._command = command
583
593
self ._parameters = _parse_params (parameters )
584
594
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
+
585
605
@property
586
606
def tags (self ) -> MsgTagList :
587
607
"""IRC tag list"""
You can’t perform that action at this time.
0 commit comments