Какие модули XEP или eJabberd наиболее подходят для условного и немедленного изменения группы пользователей, на которую подписан пользователь?
Представьте себе, что база данных, подключенная к серверу XMPP, хранит пользователей, а также содержит дополнительный столбец данных (назовем его dataId
) для каждого пользователя. Столбец данных может принимать три значения: 1, 2 или 3.
В клиенте XMPP, который входит на сервер, отображается список пользователей вместе с их статусом присутствия XMPP. В списке отображаются пользователи, которые имеют одинаковое значение dataId
, Клиент может изменить dataId
отображаемое значение, означающее, что если он переключает значение, то пользователь теперь каким-то образом подписывается на наличие нового списка пользователей, а не на старый список пользователей.
Интересно, есть ли у кого-то опыт работы с XMPP относительно того, какие XEP или соответствующие модули eJabberd (или Prosody) могут быть использованы или лучше всего подходят для этого типа функциональности.
Я медленно прохожу XEP, но их много, и пока неясно, какие модули можно использовать, или, возможно, мне понадобится настроить какой-то специальный код на моем XMPP-сервере, чтобы справиться с этим.
1 ответ
Вы можете взглянуть на XEP-0140. Это ведет себя подобно спискам, за исключением того, что все пользователи в общей группе реестров смогут видеть всех других пользователей в группе. Вы можете создать несколько общих групповых списков и легко переключать пользователя между ними, добавляя или удаляя пользователя из группы. Вы также можете иметь вложенные группы. Вы можете посмотреть пример использования групп общего доступа для разных случаев здесь, используя ejabberd.