File

plugins/mod_welcome.lua @ 6466:6e67c73f730c

util.stanza: Escape newlines and tabs (\r\n\t) when serializing stanzas. \r\n transforms into \n otherwise, and \r\n\t in attributes transforms into spaces.
author Waqas Hussain <waqas20@gmail.com>
date Wed, 08 Oct 2014 15:56:11 -0400
parent 5014:b2006c1cfa85
child 5776:bd0ff8ae98a8
child 8160:5566f82ffea4
line wrap: on
line source

-- Prosody IM
-- Copyright (C) 2008-2010 Matthew Wild
-- Copyright (C) 2008-2010 Waqas Hussain
-- 
-- This project is MIT/X11 licensed. Please see the
-- COPYING file in the source package for more information.
--

local host = module:get_host();
local welcome_text = module:get_option("welcome_message") or "Hello $username, welcome to the $host IM server!";

local st = require "util.stanza";

module:hook("user-registered",
	function (user)
		local welcome_stanza =
			st.message({ to = user.username.."@"..user.host, from = host })
				:tag("body"):text(welcome_text:gsub("$(%w+)", user));
		module:send(welcome_stanza);
		module:log("debug", "Welcomed user %s@%s", user.username, user.host);
	end);