def on_feed_output(self, feed): from xmpp import Client, Message, JID, Presence config = self.get_config(feed) if config['enabled'] is None or feed.manager.options.learn: log.debug('XMPP plugin disabled or in learning mode, skipping.') return for entry in feed.accepted: body = entry.render(config.get('message_format')) if feed.manager.options.test: log.info("XMPP message: %s", body) continue msg = Message(body=body) for dest in [x.strip() for x in config['to'].split(',')]: if dest[0] == '@': dest = dest[1:] if not dest in self.rooms: self.client.send(Presence("%s/%s" % (dest, config['nickname']))) msg.setAttr('to', dest) msg.setType('groupchat') else: msg.setAttr('to', dest) msg.setType(config['message_type']) self.client.send(msg)