XMPP: многопользовательский чат только для чтения

Я хочу создать MUC, где только 1 пользователь (владелец / администратор) может отправлять сообщения. Другие пользователи должны присоединиться к чату без каких-либо приглашений, но только в режиме только для чтения. (что-то вроде новостной ленты, парсер будет публиковать новости в чат каждые 15 минут, любой может присоединиться к чату и читать новости, но никто не может писать в этот чат)

Я уже попробовал:

<field
    var='muc#roomconfig_moderatedroom'>
    <value>1</value>
</field>

Но любой пользователь по-прежнему может писать сообщения в чат. И я попробовал:

<field
    var='muc#roomconfig_membersonly'>
    <value>1</value>
</field>

В этом случае пользователи не могут присоединиться к чату.

Какие-либо предложения?

1 ответ

Вы можете использовать правила голосовой политики комнаты, чтобы решить, кто может, а кто нет, чтобы писать в комнату.

В вашем случае вам понадобятся две роли для вашей комнаты:

  • посетитель
  • участник

Вы можете отключить возможность писать сообщения для любого пользователя, изменив его роль с Участника на Посетителя.

Подробнее о том, как работает управление голосами в XEP-0045, можно узнать здесь: http://xmpp.org/extensions/xep-0045.html.

Вы должны убедиться, что ваш XMPP-сервер реализует это расширение.

Другие вопросы по тегам