SleekXMPP:获取 ClientXMPP JID 资源?
Posted
技术标签:
【中文标题】SleekXMPP:获取 ClientXMPP JID 资源?【英文标题】:SleekXMPP: Get ClientXMPP JID Resource? 【发布时间】:2012-08-10 18:37:28 【问题描述】:import sleekxmpp
class SendMsgBot(sleekxmpp.ClientXMPP):
def __init__(self, jid, password, recipient, wsh):
print "jid is " + jid
sleekxmpp.ClientXMPP.__init__(self, jid, password)
print "self jid is " + self.jid
我按照他们的basic example 使用上面的 SleekXMPP。创建 SendMsgBot 时,我将 jid 提供为 user@domain.com/resource。但是,上面代码的输出给了我:
jid is user@domain.com/resource
self jid is user@domain.com
是否有可能找出一个ssloughxmpp.ClientXMPP 的资源?我知道资源正在被使用,因为数据在原始 XMPP 节中。我看到有一个JID class,但我不确定如何从ClientXMPP jid 到那个。
谢谢!
【问题讨论】:
【参考方案1】:有一个self.boundjid
字段,它是会话绑定期间设置的JID。由于这是一个 JID 对象,您可以使用self.boundjid.resource
。
【讨论】:
另外,最好在会话开始后检查(即在'session_start'
事件处理程序中)。即使您最初请求特定资源,也不能保证您在绑定时会实际分配到该资源。
非常感谢您的项目和您在这里的回答!以上是关于SleekXMPP:获取 ClientXMPP JID 资源?的主要内容,如果未能解决你的问题,请参考以下文章
SleekXMPP:将出席 ['muc']['jid'] 获取到每条消息的消息处理程序