Mercurial > prosody-modules
view mod_muc_moderation_delay/mod_muc_moderation_delay.lua @ 6556:7477e97a9045
mod_firewall: Apply pre-reload state before re-reading config
This change makes load/reload a bit more robust. module.load() runs before
module.restore() and it reads from the config and updates the state (if
needed).
However, after this, module.restore() could run and apply the old state again.
| author | Matthew Wild <mwild1@gmail.com> |
|---|---|
| date | Sun, 24 May 2026 20:03:20 +0100 |
| parents | 959382fac20c |
| children |
line wrap: on
line source
-- mod_muc_moderation_delay -- -- SPDX-FileCopyrightText: 2024 John Livingston <https://www.john-livingston.fr/> -- SPDX-License-Identifier: AGPL-3.0-only -- -- This file is AGPL-v3 licensed. -- Please see the Peertube livechat plugin copyright information. -- https://livingston.frama.io/peertube-plugin-livechat/credits/ -- local add_disco_form = module:require("config").add_disco_form; local config_submitted = module:require("config").config_submitted; local add_form_option = module:require("config").add_form_option; local handle_broadcast_message = module:require("delay").handle_broadcast_message; -- form_position: the position in the room config form (this value will be passed as priority for the "muc-config-form" hook). -- By default, field will be between muc#roomconfig_changesubject and muc#roomconfig_moderatedroom local form_position = module:get_option_number("moderation_delay_form_position") or 80-2; -- Plugin dependencies local mod_muc = module:depends "muc"; -- muc-disco and muc-config to configure the feature: module:hook("muc-disco#info", add_disco_form); module:hook("muc-config-submitted/muc#roomconfig_moderation_delay", config_submitted); module:hook("muc-config-form", add_form_option, form_position); -- intercept muc-broadcast-message, and broadcast with delay if required. -- Priority is negative, as we want it to be the last handler. module:hook("muc-broadcast-message", handle_broadcast_message, -1000);
