Annotate

mod_muc_mam_markers/mod_muc_mam_markers.lua @ 5603:d2561c1d26f5

mod_client_management: Allow revoking a specific client version Could be useful in case of a security issue affecting a particular version. Even if in that case, the more likely use case is revoking all older versions except the fixed one(s), this can be done with a loop or improved later.
author Kim Alvefur <zash@zash.se>
date Fri, 14 Jul 2023 15:16:06 +0200
parent 3499:a1fc677d0cc8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3499
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
1 -- mod_muc_mam_markers
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
2 --
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
3 -- Copyright (C) 2019 Marcos de Vera Piquero <marcos.devera@quobis.com>
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
4 --
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
5 -- This file is MIT/X11 licensed.
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
6 --
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
7 -- A module to make chat markers get stored in the MUC archives
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
8 --
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
9
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
10 module:depends"muc_mam"
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
11
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
12 local function handle_muc_message (event)
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
13 local stanza = event.stanza;
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
14 local is_received = stanza:get_child("received", "urn:xmpp:chat-markers:0");
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
15 local is_displayed = stanza:get_child("displayed", "urn:xmpp:chat-markers:0");
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
16 local is_acked = stanza:get_child("acknowledged", "urn:xmpp:chat-markers:0");
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
17 if (is_received or is_displayed or is_acked) then
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
18 return true;
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
19 end
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
20 return nil;
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
21 end
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
22
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
23 module:hook("muc-message-is-historic", handle_muc_message);
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
24
a1fc677d0cc8 muc_mam_markers: store chat markers in the Group Chat archives
marc0s <marcos.devera@quobis.com>
parents:
diff changeset
25 module:log("debug", "Module loaded");