annotate mod_uptime_presence/mod_uptime_presence.lua @ 5349:ac9710126e1a

mod_auth_oauth_external: Add configuration example
author Kim Alvefur <zash@zash.se>
date Sat, 15 Apr 2023 10:54:34 +0200
parents d3497b81a3b5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
917
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
1 local st = require"util.stanza";
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
2 local datetime = require"util.datetime";
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
3
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
4 local presence = st.presence({ from = module.host })
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
5 :tag("delay", { xmlns = "urn:xmpp:delay",
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
6 stamp = datetime.datetime(prosody.start_time) });
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
7
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
8 module:hook("presence/host", function(event)
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
9 local stanza = event.stanza;
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
10 if stanza.attr.type == "probe" then
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
11 presence.attr.id = stanza.attr.id;
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
12 presence.attr.to = stanza.attr.from;
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
13 module:send(presence);
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
14 return true;
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
15 end
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
16 end, 10);
d3497b81a3b5 mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
Kim Alvefur <zash@zash.se>
parents:
diff changeset
17