Thu, 07 Jan 2010 22:05:57 +0000
clix.mirror: Mirror stanzas by switching to/from
clix/mirror.lua | file | annotate | diff | comparison | revisions |
--- /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