Mercurial > prosody-modules
annotate mod_uptime_presence/mod_uptime_presence.lua @ 5801:73887dcb2129
mod_pubsub_serverinfo: New module that uses pub/sub to make accessible server info
This first implemetnation is laughably simple: it only adds a disco#info
feature. This flags 'opt-in' for inclusion of local domain names in the
data exposed by other domains (per the domain), which will allow servers to
be listed in the XMPP Network Graph at https://xmppnetwork.goodbytes.im
Hopefully, this bare-boned implementation acts as a stepping stone for
future improvements.
author | Guus der Kinderen <guus.der.kinderen@gmail.com> |
---|---|
date | Thu, 28 Dec 2023 11:02:35 +0100 |
parents | d3497b81a3b5 |
children |
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 |