Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Python: Общие вопросы > xmpppy


Автор: freeKODE 22.7.2011, 20:44
Пишется бот на этой либе. Не понимаю как сформировать IQ запрос.
http://xmpppy.sourceforge.net/apidocs/xmpp.protocol.Iq-class.html я так понимаю вот эти методы, но как ими пользоваться я так и не разобрался, прощу вашей помощи.
Нужно транспорту отправить команду.

Автор: mrDoctorWho 29.10.2011, 12:03
Вот пример из jabber-бота http://blacksmith-bot.googlecode.com/
Код

def version(recipient = "[email protected]"):
        iq = xmpp.Iq(to = recipient, typ = 'get')
        iq.addChild('query', {}, [], xmpp.NS_VERSION)
        iq.setID(ID)
        Client.SendAndCallForResponse(iq, handler_version_answer, {'recipient': recipient})

def handler_version_answer(coze, stanza, recipient):
        if stanza:
            if stanza.getType() == 'result':
                name = '[no name]'
                ver = '[no ver]'
                os = '[no os]'
                Props = stanza.getQueryChildren()
                for Prop in Props:
                    Pname = Prop.getName()
                    if Pname == 'name':
                        name = Prop.getData()
                    elif Pname == 'version':
                        ver = Prop.getData()
                    elif Pname == 'os':
                        os = Prop.getData()
                repl = "\nName: %s\nVer.: %s\nOS: %s" % (name, ver, os)
            else:
                repl = "error"
        print repl



Где Client - это объект xmpp.Client

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)