def process(self, content: Content, msg: ReliableMessage) -> Optional[Content]: assert isinstance(content, TextContent), 'text content error: %s' % content sender = msg.sender nickname = self.facebook.name(identifier=sender) if self.__ignored(content=content, sender=sender, msg=msg): return None Log.debug('Received text message from %s: %s' % (nickname, content)) response = self.__query(content=content, sender=sender) if response is not None: assert isinstance(response, TextContent) question = content.text answer = response.text group = content.group if group is None: # personal message Log.debug('Dialog > %s(%s): "%s" -> "%s"' % (nickname, sender, question, answer)) else: # group message Log.debug('Group Dialog > %s(%s)@%s: "%s" -> "%s"' % (nickname, sender, group.name, question, answer)) if self.messenger.send_content(sender=None, receiver=group, content=response): text = 'Group message responded' return ReceiptCommand(message=text) else: text = 'Group message respond failed' return ReceiptCommand(message=text) return response
def debug(self, msg: str): Log.debug('Storage::%s >\t%s' % (self.__class__.__name__, msg))