2015-10-06 1 views
0

Je souhaite créer un message MUC, où seul un utilisateur (propriétaire/administrateur) peut envoyer des messages. Les autres utilisateurs doivent rejoindre le chat sans invitations, mais uniquement en mode lecture seule. (Quelque chose comme flux de nouvelles, l'analyseur affichera des nouvelles à la discussion toutes les 15 minutes, tout le monde peut se joindre à la discussion et lire les nouvelles, mais personne ne peut écrire à ce chat)XMPP: Chat en mode multi-utilisateur en lecture seule

J'ai déjà essayé:

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

Mais tout utilisateur peut toujours écrire des messages sur le chat. Et je essayé:

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

Dans ce cas les utilisateurs ne peuvent pas rejoindre le chat.

Des suggestions?

Répondre

1

Vous pouvez utiliser les stratégies de voix de la salle pour décider qui peut ou ne peut pas écrire dans une pièce.

Dans votre cas, vous auriez besoin de deux rôles pour votre chambre:

  • Visiteur
  • Participant

Vous pouvez désactiver la possibilité d'écrire des messages pour tout utilisateur en changeant son rôle de Participant à Visiteur.

En savoir plus sur la façon dont la gestion de voix fonctionne dans XEP-0045 ici: http://xmpp.org/extensions/xep-0045.html#grantvoice

Vous devez vous assurer que votre serveur XMPP implémente cette extension.

+0

Salut @Mark, merci pour votre réponse. Si je comprends bien, tous les nouveaux membres obtiennent par défaut le statut Participant. Et ils peuvent écrire des messages, sauf si j'envoie à la demande du serveur de changer leur rôle de Participant à Visiteur. Est-ce que j'ai besoin d'une certaine manière d'écouter de nouveaux participants dans le chat, et changer leur rôle immédiatement après qu'ils se soient joints? – Dyrk

+0

Ce n'est pas correct: "Par défaut, un utilisateur non affilié entre dans une pièce modérée en tant que visiteur et entre dans une pièce ouverte en tant que participant Un membre entre dans une pièce en tant que participant Un administrateur ou propriétaire entre dans une pièce en tant que modérateur. " – xnyhps

+0

Vous devez rendre votre pièce 'open' et' moderated'. Pour ce faire, définissez la valeur du champ «muC# roomconfig_moderatedroom» sur «1» et la valeur du champ «muC# roomconfig_passwordprotectedroom» sur «0». – Mark