与XMPP客户端的响应,我可以发送邮件,但我怎么能接受?我怎样才能在Python
1
我在Python使用XMPP
A
回答
2
我必须注册一个处理程序和处理:
def messageCB(sess,mess):
print 'MESSAGE'*100
nick=mess.getFrom().getResource()
text=mess.getBody()
#print mess,nick
print text
client.RegisterHandler('message',messageCB)
while 1:
client.Process(1)
0
好贴。我注意到这个代码片段也在xmpppy sourceforge网站的记录器示例中。
我不知道是否有可能回复收到的消息。上面的代码只接收并且昵称资源ID不指示发件人是谁(以JID格式,用户@服务器的形式),除非xmpppy能够适当地转换。那么如何才能将收到的消息“回显”回给发件人呢?或者xmpppy库不太可能,需要找到一个不同的XMPP库?当然你也可以的
: 这是一个片段,把它放在FUNC messageCB 客户端= xmpp.Client( 'yourdomain.com') client.connect(服务器=( 'talk.google.com' ,5223)) client.RegisterHandler( '信息',messageCB) client.auth(用户名,PASSWD, 'talk.google.com') client.sendInitPresence() 消息= xmpp.Message(至,MSG) message.setAttr(“型”,“聊天”) client.send(消息) – diegueus9 2010-08-24 13:42:05
感谢,但问题是你如何定义“到”字段的消息时,你不知道是谁发送者会是谁?处理程序只是监听来自任何人的消息。我测试了代码,返回的资源ID(或缺口)更像是一个会话ID,因为它不像“user”或“user @ server”。我还没有测试,但我的假设是,你不能简单地将收到的nick值作为你将发送的外发消息的“to”值传递给你,或者你可以吗? – David 2010-08-24 16:26:00
如果你看到mess.getFrom(),你会得到像[email protected]/nick – diegueus9 2010-08-24 17:22:52