Tue, 11 Jan 2011 13:42:07 +0100
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