Mercurial > prosody-modules
changeset 3463:2aaf93d2b219
mod_muc_mam_hints: Respect XEP-0334 hints in MUC messages
Hook muc-message-is-historic and check if Message Processing
Hints are present to compute the return value.
author | marc0s <marcos@tenak.net> |
---|---|
date | Wed, 13 Feb 2019 15:52:58 +0100 (2019-02-13) |
parents | d73ed7975d82 |
children | 13b394b0db82 |
files | mod_muc_mam_hints/README.markdown mod_muc_mam_hints/mod_muc_mam_hints.lua |
diffstat | 2 files changed, 47 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_muc_mam_hints/README.markdown Wed Feb 13 15:52:58 2019 +0100 @@ -0,0 +1,28 @@ +--- +labels: +- 'Stage-Alpha' +summary: 'Support XEP-0334: Message Processing Hints for MUC messages' +... + +Introduction +============ + +This module will check for MUC messages with XEP-0334 Message +Processing Hints tags to qualify those messages as "historic" +for later MAM archiving or not. + +Usage +===== + +First copy the module to the prosody plugins directory. + +Then add "muc\_mam\_hints" to your modules\_enabled list in your MUC +component: + +``` {.lua} +Component "conference.example.org" "muc" +modules_enabled = { + "muc_mam", + "muc_mam_hints", +} +```
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mod_muc_mam_hints/mod_muc_mam_hints.lua Wed Feb 13 15:52:58 2019 +0100 @@ -0,0 +1,19 @@ +-- +-- A module to indicate if a MUC message qualifies as historic based on XEP-0334 hints +-- + +module:depends"muc_mam" + +module:log("debug", "Module loaded"); + +module:hook("muc-message-is-historic", function (event) + if (event.stanza:get_child("no-store", "urn:xmpp:hints") or + event.stanza:get_child("no-permanent-store", "urn:xmpp:hints")) then + module:log("debug", "Not archiving stanza: %s (urn:xmpp:hints)", event.stanza) + return false + elseif event.stanza:get_child("store", "urn:xmpp:hints") then + return true + else + return nil + end +end)