Есть код, использующий xmpppy
. Код просто отправляет сообщение в jabber конференцию:
#!/usr/bin/python
import xmpp, os, sys
jid = xmpp.protocol.JID(os.environ["USERNAME"])
cl=xmpp.Client(jid.getDomain())
cl.connect(server=('example.com',5222))
cl.auth(jid.getNode(), os.environ["PASSWORD"])
cl.sendInitPresence(requestRoster=0)
cl.send(xmpp.Presence(to='{0}/{1}'.format(sys.argv[1], jid)))
message=xmpp.Message(sys.argv[1], sys.argv[2])
message.setAttr('type', 'groupchat')
cl.send(message)
Код запускается командой:
./test.py room-name@conference.example.com 'My test message'
Данный код работает, но есть 2 вопроса:
1) сообщения пишутся от полного USERNAME, а именно от test@example.com, а нужно использовать только ник, т.е. писать просто 'test'. В документации не нашел, как это сделать. Вписывал так cl.auth(jid.getNode(), os.environ["XMPP_PASSWORD"], 'test')
, но это не работает.
2) Пароль хотелось бы передавать в виде MD5-хеша строки, а не в чистом виде. Подскажите код, как это сделать.