def auto_reply(self, addr, msg=''): if not settings['enable_auto_reply'] or len(settings['auto_reply_msg']) == 0: return msg = Message.make_outcoming(addr, settings['auto_reply_msg'], [], autoret=True) if msg.is_ready(): engine.send_packet(msg.packet) self.messages.append(msg)
def rsps_anspubkey(self, p, contact): addr = contact.addr enc_capa, key = re.split(':', p.msg, 1) logger.debug('anspubkey: %s, %s, %s' % (repr(addr), enc_capa, key)) cry.memo(addr, enc_capa, key) for msg in self.messages: if msg.io == 0 and msg.is_need_rsakey(): msg.try_make_packet() if msg.is_ready(): engine.send_packet(msg.packet)
def send(self, addrs, msg, atts=[], **options): logger.debug('ready to send' + msg + repr(addrs)) for addr in addrs: logger.debug(repr(addr)) m = Message.make_outcoming(addr, msg, atts, **options) logger.debug(str(m.status)) self.messages.append(m) if m.is_ready(): logger.debug('pack ok, sending') engine.send_packet(m.packet) elif m.is_need_rsakey(): logger.debug('need rsakey') self.req_pubkey(addr) elif m.is_encrypt_error(): logger.debug('encryption error') pass else: logger.debug('Unknown status: %s' % m.status) pass