diff options
Diffstat (limited to 'plugins')
-rw-r--r-- | plugins/mod_watchregistrations.lua | 33 |
1 files changed, 15 insertions, 18 deletions
diff --git a/plugins/mod_watchregistrations.lua b/plugins/mod_watchregistrations.lua index ac1e6302..ee51566b 100644 --- a/plugins/mod_watchregistrations.lua +++ b/plugins/mod_watchregistrations.lua @@ -9,24 +9,21 @@ local host = module:get_host(); -local registration_watchers = module:get_option("registration_watchers") - or module:get_option("admins") or {}; - -local registration_alert = module:get_option("registration_notification") or "User $username just registered on $host from $ip"; +local registration_watchers = module:get_option("registration_watchers", module:get_option("admins", {})); +local registration_notification = module:get_option("registration_notification", "User $username just registered on $host from $ip"); local st = require "util.stanza"; -module:hook("user-registered", - function (user) - module:log("debug", "Notifying of new registration"); - local message = st.message{ type = "chat", from = host } - :tag("body") - :text(registration_alert:gsub("%$(%w+)", - function (v) return user[v] or user.session and user.session[v] or nil; end)); - - for _, jid in ipairs(registration_watchers) do - module:log("debug", "Notifying %s", jid); - message.attr.to = jid; - core_route_stanza(hosts[host], message); - end - end); +module:hook("user-registered", function (user) + module:log("debug", "Notifying of new registration"); + local message = st.message{ type = "chat", from = host } + :tag("body") + :text(registration_alert:gsub("%$(%w+)", function (v) + return user[v] or user.session and user.session[v] or nil; + end)); + for _, jid in ipairs(registration_watchers) do + module:log("debug", "Notifying %s", jid); + message.attr.to = jid; + core_route_stanza(hosts[host], message); + end +end); |