mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
authorKim Alvefur <zash@zash.se>
Tue, 26 Feb 2013 16:11:20 +0100
changeset 917 d3497b81a3b5
parent 916 9c5573b389c0
child 918 dec71c31fb78
mod_uptime_presence: Initial commit. Indicates uptime by replying to probes with delay-stamped presence.
mod_uptime_presence/mod_uptime_presence.lua
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/mod_uptime_presence/mod_uptime_presence.lua	Tue Feb 26 16:11:20 2013 +0100
@@ -0,0 +1,17 @@
+local st = require"util.stanza";
+local datetime = require"util.datetime";
+
+local presence = st.presence({ from = module.host })
+	:tag("delay", { xmlns = "urn:xmpp:delay",
+		stamp = datetime.datetime(prosody.start_time) });
+
+module:hook("presence/host", function(event)
+	local stanza = event.stanza;
+	if stanza.attr.type == "probe" then
+		presence.attr.id = stanza.attr.id;
+		presence.attr.to = stanza.attr.from;
+		module:send(presence);
+		return true;
+	end
+end, 10);
+