Mercurial > prosody-modules
diff mod_mam_muc/mod_mam_muc.lua @ 1142:fabdaa0d99e3
mod_mam_muc: Stap archived messages
author | Kim Alvefur <zash@zash.se> |
---|---|
date | Sat, 10 Aug 2013 21:17:12 +0200 |
parents | 1091be1c3aba |
children | 8098683b6d6f |
line wrap: on
line diff
--- a/mod_mam_muc/mod_mam_muc.lua Sat Aug 10 21:15:25 2013 +0200 +++ b/mod_mam_muc/mod_mam_muc.lua Sat Aug 10 21:17:12 2013 +0200 @@ -23,6 +23,8 @@ local timestamp, timestamp_parse = require "util.datetime".datetime, require "util.datetime".parse; local default_max_items, max_max_items = 20, module:get_option_number("max_archive_query_results", 50); +local advertise_archive = module:get_option_boolean("muc_log_advertise", true); + local archive = module:open_store("archive2", "archive"); local rooms = hosts[module.host].modules.muc.rooms; @@ -133,8 +135,11 @@ stanza.attr.from = nick; -- And stash it - archive:append(room, time_now(), "", stanza); + local ok, id = archive:append(room, time_now(), "", stanza); stanza.attr.from = orig_from; + if ok and advertise_archive then + stanza:tag("archived", { xmlns = xmlns_mam, by = jid_bare(orig_to), id = id }):up(); + end end module:hook("message/bare", message_handler, 2);