# HG changeset patch # User Seve Ferrer # Date 1606837520 -3600 # Node ID 10dc4527574fb47dea80201b23ae00b6afc378fc # Parent ec33b3b1136cf2e4e959d0058896b38e1d8f946f mod_muc_rai: Subscribe/unsubscribe users when leaving/joining diff -r ec33b3b1136c -r 10dc4527574f mod_muc_rai/mod_muc_rai.lua --- a/mod_muc_rai/mod_muc_rai.lua Sat Nov 28 21:22:16 2020 +0100 +++ b/mod_muc_rai/mod_muc_rai.lua Tue Dec 01 16:45:20 2020 +0100 @@ -186,6 +186,22 @@ return rooms_with_activity; end +module:hook("muc-occupant-joined", function(event) + local room_jid, user_jid = event.room.jid, event.stanza.attr.from; + local ok, err = unsubscribe_room(user_jid, room_jid); + if ok then + module:log("debug", "Unsubscribed " .. user_jid .. " from " .. room_jid .. " Reason: muc-occupant-joined") + end +end); + +module:hook("muc-occupant-left", function(event) + local room_jid, user_jid = event.room.jid, event.stanza.attr.from; + local ok, err = subscribe_room(user_jid, room_jid); + if ok then + module:log("debug", "Subscribed " .. user_jid .. " to " .. room_jid .. " Reason: muc-occupant-left") + end +end); + module:hook("presence/host", function (event) local origin, stanza = event.origin, event.stanza; local user_jid = stanza.attr.from;