clix/mirror.lua

changeset 24
8e157125957d
child 27
5b58c002d6ad
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/clix/mirror.lua	Thu Jan 07 22:05:57 2010 +0000
@@ -0,0 +1,15 @@
+return function (opts, arg)
+	local function on_connect(conn)
+		local function on_stanza(stanza)
+			if stanza.name == "presence" and opts.presence
+				and not opts.mirror_presence then
+				return;
+			end
+			stanza.attr.to, stanza.attr.from = stanza.attr.from, stanza.attr.to;
+			conn:send(stanza);
+			stanza.attr.to, stanza.attr.from = stanza.attr.from, stanza.attr.to;
+		end
+		conn:hook("stanza", on_stanza);
+	end
+	return clix_connect(opts, on_connect);
+end

mercurial