Я новичок в python & скриптах sleekxmpp и хотел бы знать, как передать эту iq stanza (XEP-0133: Администрирование сервиса - Получить онлайн-пользователей) с использованием python (в основном, узел ниже строфы):sleekXMPP: Получить список пользователей, помеченных пользователями на сервере XMPP
http://xmpp.org/extensions/xep-0133.html#get-online-users-list
<iq from='[email protected]/globe'
id='get-online-users-list-1'
to='shakespeare.lit'
type='set'
xml:lang='en'>
<command xmlns='http://jabber.org/protocol/commands'
action='execute'
node='http://jabber.org/protocol/admin#get-online-users-list'/>
</iq>
Что я пробовал:
iq = self .make_iq_get(queryxmlns='http://jabber.org/protocol/commands', ito=self.domain, ifrom=self.jid, iq='')
response = iq.send()
print ('response = %s' % response)
Выполнение кода в python всегда приводит к IqError.
Может кто-нибудь объяснить, как пройти через xmlns, действие и информацию о iq stanza в make_iq_get ??
Пожалуйста, помогите !!
Вы создаете 'get' IQ stanza, но, похоже, хочет получить инструкцию' set'. 'make_iq_get' создает строфу IQ' query', но вам нужен элемент 'command', а не элемент' query' под элементом 'iq', и вы, похоже, вообще не создали узел' command'. Распечатайте строфу 'iq', которую вы генерируете выше, и вы должны увидеть, что я имею в виду. –
Я не пытаюсь установить. Вместо этого я пытаюсь получить список онлайн-пользователей на серверах XMPP, используя команду make_iq_get. – user6360694
Отсканированный фрагмент явно «type = 'set''. Но это не единственная проблема, о которой я говорил. Распечатайте строфу XML, представленную вашей переменной 'iq', и сравните ее с тем, что вам нужно отправить, и вы увидите разницу. Я ожидаю, что ваша строфа 'iq' выглядит примерно так:' '. –