Mercurial > prosody-modules
diff mod_mam/mod_mam.lua @ 1187:d677d1807bb0
mod_mam: Stamp outgoing messages with <archived> as well, but remove it after they should have passed through mod_carbons
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Thu, 05 Sep 2013 15:48:37 +0200 |
parents | a172e7389cf6 |
children | 853a382c9bd6 |
line wrap: on
line diff
--- a/mod_mam/mod_mam.lua Thu Sep 05 15:24:09 2013 +0200 +++ b/mod_mam/mod_mam.lua Thu Sep 05 15:48:37 2013 +0200 @@ -202,7 +202,7 @@ -- And stash it local ok, id = archive:append(store_user, time_now(), with, stanza); - if ok and not c2s then + if ok then stanza:tag("archived", { xmlns = xmlns_mam, by = store_user.."@"..host, id = id }):up(); end else @@ -221,5 +221,16 @@ module:hook("message/bare", message_handler, 2); module:hook("message/full", message_handler, 2); +local function post_carbons_handler(event) + event.stanza:maptags(function(tag) + if not ( tag.attr.xmlns == xmlns_mam and tag.name == "archived" ) then + return tag; + end + end); +end + +module:hook("pre-message/bare", post_carbons_handler, 0.9); +module:hook("pre-message/full", post_carbons_handler, 0.9); + module:add_feature(xmlns_mam);