Mercurial > prosody-modules
view mod_filter_words/mod_filter_words.lua @ 4813:0a257d1402c3
mod_muc_rtbl: Optimize case with zero hashes
On the assumption that during quiet times between torrents of spam,
the hash set would be empty. There would be no point in doing the
operations and hashes to check for a match in that case.
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Mon, 06 Dec 2021 18:19:19 +0100 |
parents | 677fc0203da0 |
children |
line wrap: on
line source
local filters = require "util.filters"; local replacements = module:get_option("filter_words", {}); if not replacements then module:log("warn", "No 'filter_words' option set, filters inactive"); return end function filter_stanza(stanza) if stanza.name == "message" then local body = stanza:get_child("body"); if body then body[1] = body[1]:gsub("%a+", replacements); end end return stanza; end function filter_session(session) filters.add_filter(session, "stanzas/in", filter_stanza); end function module.load() if module.reloading then module:log("warn", "RELOADING!!!"); end filters.add_filter_hook(filter_session); end function module.unload() filters.remove_filter_hook(filter_session); end