Xmpp聊天隐形状态

Xmpp聊天隐形状态,xmpp,facebook-chat,Xmpp,Facebook Chat,我正在构建一个机器人,它可以监视朋友的存在,但不需要可见。 我尝试使用优先级、显示、键入和所有已知值设置状态,但没有成功。 是否可能是不可见的,只接收状态通知 谢谢 看一看。状态信息具有订阅状态。如果您的bot已订阅从您的用户接收状态,但您的用户未订阅,则不会通知他们bot的存在 换句话说,您的机器人应该发送: <presence to="user@example.com" type="subscribe" /> 然后是用户的授权 <presence to="bot@ex

我正在构建一个机器人,它可以监视朋友的存在,但不需要可见。 我尝试使用优先级、显示、键入和所有已知值设置状态,但没有成功。 是否可能是不可见的,只接收状态通知

谢谢

看一看。状态信息具有订阅状态。如果您的bot已订阅从您的用户接收状态,但您的用户未订阅,则不会通知他们bot的存在

换句话说,您的机器人应该发送:

<presence to="user@example.com" type="subscribe" />

然后是用户的授权

<presence to="bot@example.com" type="subscribed" />

现在,机器人将收到用户的提示,但不是相反的提示。

请参见第3.1节:

<iq from='bilbo@tolkien.lit/shire' type='set' id='inv1'>
  <query xmlns='jabber:iq:privacy'>
    <list name='invisible'>
      <item action='deny' order='1'>
        <presence-out/>
      </item>
    </list>
  </query>
</iq>

要设置不可见状态,必须发送类型为“不可见”的状态信息

我使用此代码将我的状态设置为“不可见”。
有关更多详细信息,请阅读上次我从Facebook了解到的文档,无法通过XMPP命令实现不可见性:。还可以在限制下查看

啊,很好,我甚至不知道这个存在!不幸的是,我猜它不受支持,那你就太倒霉了。我做了一些订阅实验,但facebook似乎不支持它,因为我的订阅被忽略,而且我从未收到订阅请求,我担心如果我的或Joe的解决方案不支持facebook,它们将无法与facebook合作。请注意XEP-0018已被XMPP委员会拒绝,不应在一般的XMPP客户端中实施()。正如Joe Hildebrand所建议的,通过XEP-0126的隐私列表是推荐的方法。
<presence type="invisible"/>
XMPPPresence *presence = [XMPPPresence presenceWithType:@"invisible"];
[[self xmppStream] sendElement:presence];