Запрос MUC комнаты архива сообщений - PullRequest
0 голосов
/ 08 мая 2018

Я разрабатываю приложение чата с использованием ejabberd 18.01

Есть ли способ найти jid владельца сообщения при получении сообщений из комнаты MUC?

<x xmlns="http://jabber.org/protocol/muc#user"><item jid="romeo@lit.com/desktop"/></x>

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

1 Ответ

0 голосов
/ 09 мая 2018

сообщения, владельцем которых является номер другого участника, не содержащие тега x.

Внимательно прочитайте этот абзац из https://xmpp.org/extensions/xep-0313.html#business-storeret-muc-archives

В случае неанонимных комнат или если получатель архива MUC имеет право на доступ к реальному JID отправителя во время запроса, архивное сообщение будет использовать расширенную информацию сообщения в элементе, квалифицированном как ' http://jabber.org/protocol/muc#user' пространство имен, содержащее дочерний элемент с атрибутом jid, указывающим полный JID участника, как это определено для неанонимного присутствия в комнате в многопользовательском чате (XEP-0045) [10].

На практике это означает, что вы должны настроить комнату и установить эту опцию:

Предоставить настоящие идентификаторы Jabber: любому

Или, если вы хотите это во всех новых комнатах, настройте в ejabberd.yml

modules:
  mod_muc:
    default_room_options:
      anonymous: false
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...