XMPP vcard-temp example for XMPPpy

Материал из Linux Wiki
Перейти к навигацииПерейти к поиску
    def iq_vcard_handler(self, iq):
        repl = iq.buildReply('result')
        query = xmpp.Node('vCard', attrs={'xmlns':xmpp.NS_VCARD})

        if str(iq.getTo()) == self.domain:
            query.setTagData(tag='NICKNAME', val='Weather')
            query.setTagData(tag='FN',       val='Jabber Weather Transport')
            query.setTagData(tag='BDAY',     val='2022-07-22')
            query.setTagData(tag='DESC',     val='gismeteo.ru and meteonova.ru weather service')
            query.setTagData(tag='ROLE',     val='Создаю ботов для получения погоды с '+datasrc)
            query.setTagData(tag='URL',      val='https://github.com/jabberworld/gismeteo')

            transav = query.addChild('PHOTO')
            transav.setTagData(tag='BINVAL', val=self.weatherlogo)
            transav.setTagData(tag='TYPE',   val='image/png')

        repl.setPayload([query])
        self.jabber.send(repl)
        raise NodeProcessed