首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xmpp聊天不可见状态

Xmpp聊天不可见状态
EN

Stack Overflow用户
提问于 2012-04-13 20:49:48
回答 4查看 2K关注 0票数 1

我正在构建一个机器人,监测朋友的存在,但不需要是可见的。我尝试使用priority、show、type和所有已知值设置presence,但都没有成功。有没有可能是看不见的,只是收到在线状态通知?

谢谢!

EN

回答 4

Stack Overflow用户

发布于 2012-04-14 12:41:44

参见XEP-0126: Invisibility,第3.1节:

代码语言:javascript
复制
<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>
票数 2
EN

Stack Overflow用户

发布于 2012-04-14 02:52:58

看一看rfc。Presence具有订阅状态。如果您的机器人订阅了接收来自用户的在线状态,但您的用户没有,他们将不会被通知机器人的在线状态。

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

代码语言:javascript
复制
<presence to="user@example.com" type="subscribe" />

然后是用户的授权,

代码语言:javascript
复制
<presence to="bot@example.com" type="subscribed" />

现在机器人将接收来自用户的在线状态,但不是相反。

票数 0
EN

Stack Overflow用户

发布于 2012-11-08 14:13:02

要将状态设置为变为不可见,您必须发送类型为“不可见”的在线状态。

代码语言:javascript
复制
<presence type="invisible"/>

下面是代码(在ios中):

代码语言:javascript
复制
XMPPPresence *presence = [XMPPPresence presenceWithType:@"invisible"];
[[self xmppStream] sendElement:presence];

我使用此代码将我的状态设置为“不可见”。有关更多详细信息,请阅读http://xmpp.org/extensions/xep-0018.html#sect-id86210上的文档

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10141155

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档