gpt4 book ai didi

ios - ejabberd mod_pubsub 离线消息

转载 作者:行者123 更新时间:2023-11-29 01:19:30 25 4
gpt4 key购买 nike

我想拦截 mod_pubsub 的离线消息,如果我在 ejabberd 中向离线用户发送一条普通消息,我会在离线 odbc 表中看到该消息,如果用户重新连接消息到达。

如果我发布到一个节点,并且一些用户离线,我在离线消息表中看不到任何东西,但如果用户重新连接,项目节点会正确发送,所以消息保存在某个地方。

我可以将项目离线发送到离线消息 odbc 表吗?或者我可以拦截 mod_pubsub 的离线项目(例如消息),实际上对于来自插件的消息我可以这样做:

 start(_Host, _Opt) ->
inets:start(),
ejabberd_hooks:add(offline_message_hook, _Host, ?MODULE, create_message, 50).

stop (_Host) ->
ejabberd_hooks:delete(offline_message_hook, _Host, ?MODULE, create_message, 50).

这是我的 ejabberd.yml 配置 mod_pubsub:

mod_pubsub:
access_createnode: pubsub_createnode
## reduces resource comsumption, but XEP incompliant
ignore_pep_from_offline: true
## XEP compliant, but increases resource comsumption
## ignore_pep_from_offline: false
last_item_cache: false
db_type: odbc
plugins:
- "flat"
- "hometree"
- "pep" # pep requires mod_caps

最佳答案

默认情况下,pubsub 消息类型为 headline。根据 XMPP 规范,标题消息不应存储在离线消息存储中。

但是,有一个 mod_pubsub 选项可以更改默认通知类型。例如,您可以将 mod_pubsub notification_type 选项设置为 normal。正常消息存储在离线存储中。

关于ios - ejabberd mod_pubsub 离线消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34774112/

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