len_min_params: int = 0
len_max_params: int = 0
params: tuple[str, ...] = tuple()
+ source: Optional[str] = None
_EXPECTATIONS: dict[str, _MsgParseExpectation] = {
'900': _MsgParseExpectation(4),
'903': _MsgParseExpectation(2),
'904': _MsgParseExpectation(2),
- 'AUTHENTICATE': _MsgParseExpectation(params=('+',)),
+ 'AUTHENTICATE': _MsgParseExpectation(params=('+',), source=''),
'CAP': _MsgParseExpectation(3, 15),
- 'ERROR': _MsgParseExpectation(1),
+ 'ERROR': _MsgParseExpectation(1, source=''),
'JOIN': _MsgParseExpectation(1),
'MODE': _MsgParseExpectation(2),
'NICK': _MsgParseExpectation(1),
'NOTICE': _MsgParseExpectation(2),
'PART': _MsgParseExpectation(1, 2),
- 'PING': _MsgParseExpectation(1),
+ 'PING': _MsgParseExpectation(1, source=''),
'PRIVMSG': _MsgParseExpectation(2),
}
if not verb == self.verb:
return False
expect = _EXPECTATIONS[verb]
+ if expect.source is not None and self.source != expect.source:
+ return False
if expect.params:
return self.params == expect.params
n_msg_params = len(self.params)