Beispiel #1
0
 async def _handle_get_vcard(self, iq: Iq):
     if iq['type'] == 'result':
         await self.api['set_vcard'](jid=iq['from'], args=iq['vcard_temp'])
         return
     elif iq['type'] == 'get' and self.xmpp.is_component:
         vcard = await self.api['get_vcard'](iq['to'].bare,
                                             ifrom=iq['from'])
         if isinstance(vcard, Iq):
             vcard.send()
         else:
             iq = iq.reply()
             iq.append(vcard)
             iq.send()
     elif iq['type'] == 'set':
         raise XMPPError('service-unavailable')
Beispiel #2
0
    async def _handle_bob_iq(self, iq: Iq):
        cid = iq['bob']['cid']

        if iq['type'] == 'result':
            await self.api['set_bob'](iq['from'],
                                      None,
                                      iq['to'],
                                      args=iq['bob'])
            self.xmpp.event('bob', iq)
        elif iq['type'] == 'get':
            data = await self.api['get_bob'](iq['to'],
                                             None,
                                             iq['from'],
                                             args=cid)
            if isinstance(data, Iq):
                data['id'] = iq['id']
                data.send()
                return

            iq = iq.reply()
            iq.append(data)
            iq.send()