gpt4 book ai didi

xmpp 组件 : only send message if jid is online

转载 作者:行者123 更新时间:2023-12-04 14:00:44 24 4
gpt4 key购买 nike

我正在使用 http://xmppjs.prosody.im/ 编码一个 xmpp 组件.我想向 jid 发送消息,但前提是用户在线。实现这一目标的最快/最有效的方法是什么。

我想检测到这一点,例如,我可以在用户离线时发送电子邮件。

最佳答案

发送消息,type='headline',不管JID是否在线。如果收件人离线,则不应存储标题消息以备日后发送。

这种方法比您可以做的任何其他方法都更快、更便携。

如果您必须根据用户是否在线做一些不同的事情,您需要订阅该用户的状态:

<presence type='subscribe' from='my.component' to='user@domain'/>

用户必须接受您的请求:

<presence type='subscribed' to='my.component' from='user@domain'/>

用户也可以订阅你的组件:

<presence type='subscribe' to='my.component' from='user@domain'/>

你可以用它们做你选择的事;最简单的事情就是接受它们:

<presence type='subscribe' from='my.component' to='user@domain'/>

每次您需要他们的存在,或者每次您的组件启动时,它都需要向该用户发送探测:

<presence type='probe' from='my.component' to='user@domain'/>

然后您将返回每个用户资源的存在。没有办法告诉你什么时候完成。如果你想在用户离线时采取行动,你只需要选择一个超时值,然后在你收到在线消息时停止计时器。由于用户无论如何都处于离线状态,因此额外的延迟通常不是大问题。

请注意,如果您接受了上述用户的状态订阅,您将收到来自该用户的探测;您可以忽略它们,也可以使用描述您的操作状态的状态节进行响应。

关于xmpp 组件 : only send message if jid is online,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3506089/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com