Merge with MattJ

Tue, 11 Jan 2011 13:42:07 +0100

author
Kim Alvefur <zash@zash.se>
date
Tue, 11 Jan 2011 13:42:07 +0100
changeset 55
3a321510707c
parent 54
4dcb349bb667 (diff)
parent 52
0157bfe14958 (current diff)
child 56
cb7656ee4dd8

Merge with MattJ

--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/msgforward.lua	Tue Jan 11 13:42:07 2011 +0100
@@ -0,0 +1,21 @@
+function riddim.plugins.msgforward(bot)
+	local compare_jid = require "util.jid".compare;
+	local st_clone = require "util.stanza".clone;
+	local forwards = bot.config.forwards or {};
+
+	bot:hook("message", function(event)
+		local message = event.stanza;
+		local from = message.attr.from;
+		local body = message:get_child("body");
+		body = body and body:get_text();
+		if not body then return end
+		for jid, room in pairs(forwards) do
+			if compare_jid(from, jid) and bot.rooms[room] then
+				local out = st_clone(message);
+				out.attr.to, out.attr.from, out.attr.type = nil, nil, "groupchat";
+				bot.rooms[room]:send(out);
+				return true;
+			end
+		end
+	end);
+end

mercurial