from msg_container import MsgContainer from msg_sink import MsgSink import re class MsgReceiver(MsgSink): def __init__(self, name: str, filter: str): super().__init__() self.name = name self.filter = filter def is_msg(self, msg: MsgContainer): res = False try: res = re.match(bytes(self.filter, encoding="utf-8"), msg.data) is not None except UnicodeDecodeError: pass return res def on_recv(self, msg: MsgContainer): print(f"{self.name}: {msg}")