Как я могу отправить данные с помощью xmpppy?
Как я могу отправить данные с помощью xmpppy, используя этот метод: http://xmpp.org/extensions/xep-0047.html
Я полагаю, что я должен использовать класс IBB, но понятия не имею, как это сделать. http://xmpppy.sourceforge.net/apidocs/
2 ответа
Решение
Во-первых, если вы используете GoogleTalk, убедитесь, что отправитель включен в реестр получателя. Далее на стороне отправителя:
from xmpp import *
cl=Client('example.com')
cl.connect()
cl.auth('sender', 'sender_pass')
ibb = filetransfer.IBB()
ibb.PlugIn(cl)
f = open('/tmp/foo')
ibb.OpenStream('123', 'receiver@example.com/resource', f)
Неважно, какой идентификатор потока, если вы сначала не правильно делаете XEP-95/ XEP-96.
Я думаю что-то подобное:
import StringIO
...
output = StringIO.StringIO()
output.write('String data')
output.close()
client.OpenStream('123', 'receiver@example.com/resource', output)