From dc851debfaea80873071689070ef994c46fb8a02 Mon Sep 17 00:00:00 2001 From: Matthew Wild Date: Tue, 6 Jan 2015 19:33:25 +0000 Subject: mod_muc: Add muc-add-history event to allow modules to override default history storage --- plugins/muc/history.lib.lua | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'plugins/muc/history.lib.lua') diff --git a/plugins/muc/history.lib.lua b/plugins/muc/history.lib.lua index 4129e7fa..d685abf2 100644 --- a/plugins/muc/history.lib.lua +++ b/plugins/muc/history.lib.lua @@ -135,7 +135,7 @@ module:hook("muc-occupant-session-new", function(event) end, 50); -- Before subject(20) -- add to history -module:hook("muc-broadcast-message", function(event) +module:hook("muc-add-history", function(event) local historic = event.stanza:get_child("body"); if historic then local room = event.room @@ -151,6 +151,13 @@ module:hook("muc-broadcast-message", function(event) table.insert(history, entry); while #history > get_historylength(room) do table.remove(history, 1) end end + return true; +end, -1); + +-- Have a single muc-add-history event, so that plugins can mark it +-- as handled without stopping other muc-broadcast-message handlers +module:hook("muc-broadcast-message", function(event) + module:fire_event("muc-add-history", event); end); return { -- cgit v1.2.3