File

clix/mirror.lua @ 148:27a9f28724d3

clix.archive: Add 'irc' output format, useful for MUC export
author Kim Alvefur <zash@zash.se>
date Mon, 08 Feb 2021 22:59:49 +0100
parent 27:5b58c002d6ad
line wrap: on
line source

return function (opts, arg)
	if opts.short_help then
		print("Echo received stanzas back to sender");
		return;
	end
	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