0

我必须发送基于 xmpp 的聊天客户端 (hipchat),为此我使用xmpp.py。现在,我正在尝试从 shell 发送消息。以下是我从 shell 执行的语句:

>>> import xmpp
>>> jid = xmpp.protocol.JID('99999_9999@chat.hipchat.com')
>>> cl=xmpp.Client(jid.getDomain(),debug=[])
>>> cl.connect()
'tls'
>>> cl.auth(jid.getNode(),'password')
'sasl'
>>> cl.send(xmpp.protocol.Message('99999_9999@chat.hipchat.com','hey!'))
'3'

我使用相同的 jabber id 进行身份验证和作为接收者。我也在聊天室在线,但我没有收到任何消息。少了什么东西?

4

2 回答 2

0

一些较旧的 XMPP 服务器需要初始状态。在 之前使用以下调用发送状态cl.send

cl.SendInitPresence(requestRoster=0)

另请参阅 xmpppy 主页中的 xsend 示例:http: //xmpppy.sourceforge.net/examples/xsend.py

于 2012-06-26T08:57:08.247 回答
0

我错过了typ参数。添加它的价值chat解决了这个问题:

cl.send(xmpp.protocol.Message('99999_9999@chat.hipchat.com','hey!', typ='chat'))
于 2012-06-28T10:27:56.810 回答