There is a need in a project I’'m working in to create moderated chat rooms using the MUC service so that room occupants (not “voiced” participants) can send messages that are approved or rejected by the moderator(s) in real time. The moderator would have some means of making their decision and letting the server know if the message should be broadcasted as a standard, approved message or not.
My idea was to create a type of message seen as a ModeratedMessage. All ModeratedMessages would be stored in a server memory. That type would be listened to by the moderator’‘s client and the client would send a special IQ packet holding message’'s ID and decision concerning it. The server would then remove this message from its memory and broadcast it or not.
Another idea would be to selectively broadcast the moderated messages only to moderators but I don’'t know if there are any standard means for that defined in current standards.
What do you think of this idea? How about extending JEP-0045?