получить значение метки времени в хуке muc_filter_message - PullRequest
0 голосов
/ 01 февраля 2019

Можно ли получить метку времени сообщения внутри muc_filter_message хука?Мне нужно уведомить сообщения muc, полезная нагрузка уведомления должна включать временную метку сообщений.

muc_filter_message(#message{from = From, body = Body} = Pkt,
           #state{config = Config, jid = RoomJID} = MUCState,
           FromNick) ->

    ?INFO_MSG("~p.", [From#jid.lserver]),

    PostUrl = gen_mod:get_module_opt(From#jid.lserver, ?MODULE, post_url, fun(S) -> iolist_to_binary(S) end, list_to_binary("")),

Есть ли поле, которое я могу извлечь из Pkt, которое указывает метку времени?

На стороне клиента я получил этот кадр, где заархивирован -> идентификатор совпадает с отметкой времени, хранящейся в таблице архива базы данных ejabberd

enter image description here

Ответы [ 2 ]

0 голосов
/ 01 февраля 2019

Сообщения XMPP (включая MUC) не помечаются, когда они доставляются в режиме реального времени.Все метки времени, которые вы видите в клиентском приложении и в журналах, просто берутся из локальных часов при получении сообщения - вот почему журнал чата и ваше локальное приложение имеют тенденцию показывать разные метки времени.

В вашем случае использованияЯ думаю, это означает, что вы должны просто сгенерировать свою метку времени из текущего времени на сервере.

0 голосов
/ 01 февраля 2019

Какая временная метка?Групповое сообщение, как описано в https://xmpp.org/extensions/xep-0045.html, не содержит какого-либо элемента или атрибута о отметке времени.Таким образом, Pkt не содержит никакой временной информации.

...