1

友達の存在を監視するボットを構築していますが、表示する必要はありません。私はpriority、show、typeをすべての既知の値で使用してプレゼンスを設定しようとしましたが、成功しませんでした。目に見えず、プレゼンス通知を受け取る可能性はありますか?

ありがとう!

4

4 に答える 4

2

XEP-0126:Invisibility、セクション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>
于 2012-04-14T04:41:44.120 に答える
0

rfcを見てください。プレゼンスにはサブスクリプション ステータスがあります。ボットがユーザーからのプレゼンスを受信するようにサブスクライブされているが、ユーザーがサブスクライブされていない場合、ボットのプレゼンスはユーザーに通知されません。

つまり、ボットは以下を送信する必要があります。

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

ユーザーの承認が続きます。

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

これで、ボットはユーザーからプレゼンスを受け取りますが、その逆は受け取りません。

于 2012-04-13T18:52:58.453 に答える
0

最後に Facebook から知ったのですが、XMPP コマンドを使用して非表示を実装することはできません: https://developers.facebook.com/bugs/315067461919373制限の下のhttps://developers.facebook.com/docs/chat/も参照してください。

于 2013-02-15T16:47:53.683 に答える
0

非表示になるステータスを設定するには、「非表示」タイプのプレゼンスを送信する必要があります。

<presence type="invisible"/>

そして、ここにコードがあります(iosで):

XMPPPresence *presence = [XMPPPresence presenceWithType:@"invisible"];
[[self xmppStream] sendElement:presence];

このコードを使用して、ステータスを「非表示」に設定します。詳細については、 http: //xmpp.org/extensions/xep-0018.html#sect-id86210のドキュメントをお読みください。

于 2012-11-08T06:13:02.233 に答える