peertube-plugin-livechat/prosody-modules/mod_muc_moderation_delay
2024-09-17 11:38:18 +02:00
..
config.lib.lua Fix: moderation delay max value was not correctly handled. 2024-09-17 11:38:18 +02:00
delay.lib.lua Prosody modules: fix lua 5.3/5.4 compatibility: 2024-09-10 17:58:12 +02:00
mod_muc_moderation_delay.lua Moderation delay WIP (#132): 2024-07-09 11:40:37 +02:00
README.markdown prosody-modules: preparing some modules for publication on 2024-07-29 15:00:02 +02:00

mod_muc_moderation_delay

With this module, you can apply a delay to groupchat messages delivery, so that room moderators can moderate them before other participants receives them.

This module is part of peertube-plugin-livechat, and is under AGPL-3.0.-only license. This module can work on any Prosody server (version >= 0.12.x). This module is still experimental.

Configuration

Just enable the module on your MUC component. The feature will be accessible throught the room configuration form.

The position in the room config form can be changed be setting the option moderation_delay_form_position. This value will be passed as priority for the "muc-config-form" hook. By default, the field will be between muc#roomconfig_changesubject and muc#roomconfig_moderatedroom.

VirtualHost "muc.example.com"
  modules_enabled = { "muc_moderation_delay" }
  moderation_delay_form_position = 96

Additional notes

For moderators, messages that are delayed will contain an extra moderation-delay xml tag, with delay and waiting attribute:

<message xmlns="jabber:client" type="groupchat" id="18821520-e49b-4e59-b6c6-b45cc133905d" to="root@example.com/QH1H89H1" xml:lang="en" from="8df24108-6e70-4fc8-b1cc-f2db7fcdd535@room.example.com/root">
  <body>Hello world</body>
  <origin-id id="18821520-e49b-4e59-b6c6-b45cc133905d" xmlns="urn:xmpp:sid:0" />
  <markable xmlns="urn:xmpp:chat-markers:0" />
  <occupant-id id="V5gJudj4Ii3+LnikqUbSSH3NmPKO82zD+m7jRYushVY=" xmlns="urn:xmpp:occupant-id:0" />
  <stanza-id xmlns="urn:xmpp:sid:0" id="xkf36aYefSmQ9evPo1m6Neei" by="8df24108-6e70-4fc8-b1cc-f2db7fcdd535@room.example.com" />
  <moderation-delay delay="4" waiting="1720177157" />
</message>

Note: the waiting attribute is the timestamp at which the message will be broadcasted.

So compatible xmpp clients can display some information.