擅长:python、mysql、java
<p>我不认为这是可能的,因为联系人的存在(其中包含他们的可用性信息)是由bot异步接收的。在</p>
<p>您必须编写一个状态处理程序函数,并将其注册到连接中。每当收到联系人的状态信息时,就会调用此函数。呼叫的参数将告诉您联系人是否在线。根据它,你可以把信息发送给联系人。在</p>
<p>使用<code>xmpppy</code>可以这样做:</p>
<pre><code>def connect(jid, password, res, server, proxy, use_srv):
conn = xmpp.Client(jid.getDomain())
if not conn.connect(server=server, proxy=proxy, use_srv=use_srv):
log( 'unable to connect to server.')
return None
if not conn.auth(jid.getNode(), password, res):
log( 'unable to authorize with server.')
return None
conn.RegisterHandler( 'presence', callback_presence)
return conn
conn = connect(...)
def callback_presence(sess, pres):
if pres.getStatus() == "online":
msg = xmpp.Message(pres.getFrom(), "Hi!")
conn.send(msg)
</code></pre>
<p>PS:我还没有测试代码,但它应该与此非常相似。在</p>