From def85b87e62d9efacb614e376b22ff7a25987259 Mon Sep 17 00:00:00 2001 From: daurnimator Date: Fri, 14 Nov 2014 17:37:47 -0500 Subject: plugins/muc/muc.lib: Allow muc-broadcast-presence event listeners to modify nick, actor, reason --- plugins/muc/muc.lib.lua | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) 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))); -- cgit v1.2.3