plugins/mod_presence.lua

changeset 1479
eef17ebe3ca1
parent 1477
e0411d6c9bae
child 1480
93d3295fb064
--- a/plugins/mod_presence.lua	Sun Jul 05 16:21:58 2009 +0500
+++ b/plugins/mod_presence.lua	Sun Jul 05 17:45:44 2009 +0500
@@ -315,3 +315,14 @@
 	end -- resource not online, discard
 	return true;
 end);
+
+module:hook("resource-unbind", function(event)
+	local session, err = event.session, event.error;
+	-- Send unavailable presence
+	if session.presence then
+		local pres = st.presence{ type = "unavailable" };
+		if not(err) or err == "closed" then err = "connection closed"; end
+		pres:tag("status"):text("Disconnected: "..err):up();
+		session:dispatch_stanza(pres);
+	end
+end);

mercurial