diff options
Diffstat (limited to 'plugins/mod_muc_mam.lua')
-rw-r--r-- | plugins/mod_muc_mam.lua | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/plugins/mod_muc_mam.lua b/plugins/mod_muc_mam.lua index 7e6c9838..3fdaeaa4 100644 --- a/plugins/mod_muc_mam.lua +++ b/plugins/mod_muc_mam.lua @@ -303,14 +303,13 @@ module:hook("muc-get-history", function (event) return true; end, 1); --- Handle messages -local function save_to_history(self, stanza) - local room_node, room_host = jid_split(self.jid); +module:hook("muc-broadcast-messages", function (event) + local room, stanza = event.room, event.stanza; -- Filter out <stanza-id> that claim to be from us stanza:maptags(function (tag) if tag.name == "stanza-id" and tag.attr.xmlns == xmlns_st_id - and jid_prep(tag.attr.by) == self.jid then + and jid_prep(tag.attr.by) == room.jid then return nil; end if tag.name == "x" and tag.attr.xmlns == xmlns_muc_user then @@ -319,6 +318,12 @@ local function save_to_history(self, stanza) return tag; end); +end, 0); + +-- Handle messages +local function save_to_history(self, stanza) + local room_node, room_host = jid_split(self.jid); + local stored_stanza = stanza; if stanza.name == "message" and self:get_whois() == "anyone" then |