X-Git-Url: https://git.enpas.org/?a=blobdiff_plain;f=plugins%2Fmuc%2Fmuc.lib.lua;h=75caa233938f49d627df9aefae1c84d2d67935f7;hb=8608cbfc4c001108df3816b69ccb651c3e4f157d;hp=9f83af80d09f0bb13634321e1fd0b591a34807bb;hpb=5b84bf8cab6e52774a6c7cd034ae86f0c11a8dc1;p=prosody.git diff --git a/plugins/muc/muc.lib.lua b/plugins/muc/muc.lib.lua index 9f83af80..75caa233 100644 --- a/plugins/muc/muc.lib.lua +++ b/plugins/muc/muc.lib.lua @@ -198,13 +198,20 @@ function room_mt:publicise_occupant_status(occupant, base_x, nick, actor, reason base_presence = base_presence or st.presence {from = occupant.nick; type = "unavailable";}; -- Fire event (before full_p and anon_p are created) - module:fire_event("muc-broadcast-presence", { + local event = { room = self; stanza = base_presence; x = base_x; occupant = occupant; nick = nick; actor = actor; reason = reason; - }); + } + module:fire_event("muc-broadcast-presence", event); + + -- Allow muc-broadcast-presence listeners to change things + nick = event.nick; + actor = event.actor; + reason = event.reason; local whois = self:get_whois(); + local actor_nick; if actor then actor_nick = select(3, jid_split(self:get_occupant_jid(actor)));