view mod_drop_chatstates/mod_drop_chatstates.lua @ 6315:52bd0ac397b5

mod_muc_restrict_status: create new module Allows stripping "status" messages that may contain offensive content from non-members of a MUC
author Stephen Paul Weber <singpolyma@singpolyma.net>
date Tue, 12 Aug 2025 16:13:50 -0500
parents 2525f247084c
children
line wrap: on
line source

local jid = require "util.jid"
local st = require "util.stanza"

local CHATSTATES_NS = "http://jabber.org/protocol/chatstates"
local domains = module:get_option_set("drop_chatstates_domains", {})

local function handle_pre_message(event)
    local stanza = event.stanza
    local to_host = jid.host(stanza.attr.to)
    if not to_host or not domains:contains(to_host) then return end
    if stanza:get_child(nil, CHATSTATES_NS) then return true end
end

module:hook("pre-message/bare", handle_pre_message)