2016-01-13 2 views
0

Я хочу перехватить автономное сообщение mod_pubsub, если я отправлю нормальное сообщение в ejabberd автономному пользователю, я вижу это сообщение в автономной таблице odbc, если пользователь повторно подключит сообщение.ejabberd mod_pubsub offline message

Если я публикую на узле, а некоторые пользователи отключены, я ничего не вижу в автономной таблице сообщений, но если пользователь повторно подключает узел элемента, он отправляется правильно, поэтому сообщение сохраняется где-то.

Могу ли я отправить элемент офлайн в автономное сообщение odbc table? или я могу перехватить автономный элемент 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 

ответ

1

По умолчанию PubSub Тип сообщения: headline. Согласно спецификациям XMPP, сообщения заголовка не должны храниться в автономном хранилище сообщений.

Однако для изменения типа уведомления по умолчанию существует опция mod_pubsub. Вы можете, например, установить mod_pubsubnotification_type вариант normal. Обычные сообщения хранятся в автономном хранилище.