Mercurial > prosody-modules
changeset 5649:2c69577b28c2
mod_muc_restrict_avatars: Block MUC participant avatars for non-members
author | Stephen Paul Weber <singpolyma@singpolyma.net> |
---|---|
date | Wed, 22 Feb 2023 22:47:45 -0500 |
parents | f6b5f04d4b28 |
children | 0eb2d5ea2428 |
files | mod_muc_restrict_avatars/mod_muc_restrict_avatars.lua |
diffstat | 1 files changed, 19 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_muc_restrict_avatars/mod_muc_restrict_avatars.lua Wed Feb 22 22:47:45 2023 -0500 @@ -0,0 +1,19 @@ +local bare_jid = require"util.jid".bare; +local mod_muc = module:depends("muc"); + +local function filter_avatar_advertisement(tag) + if tag.attr.xmlns == "vcard-temp:x:update" then + return nil; + end + + return tag; +end + +module:hook("presence/full", function(event) + local stanza = event.stanza; + local room = mod_muc.get_room_from_jid(bare_jid(stanza.attr.to)); + + if not room:get_affiliation(stanza.attr.from) then + stanza:maptags(filter_avatar_advertisement); + end +end, 1);