MUC: Introduce an event to allow plugins to influence which messages are added to history
--- a/plugins/muc/history.lib.lua Mon May 07 22:12:22 2018 +0200
+++ b/plugins/muc/history.lib.lua Mon May 07 22:10:29 2018 +0200
@@ -156,12 +156,15 @@
-- 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)
- local historic = event.stanza:get_child("body");
- if historic then
+ if module:fire_event("muc-message-is-historic", event) then
module:fire_event("muc-add-history", event);
end
end);
+module:hook("muc-message-is-historic", function (event)
+ return event.stanza:get_child("body");
+end, -1);
+
return {
set_max_length = set_max_history_length;
parse_history = parse_history;