Mercurial > prosody-hg
comparison plugins/mod_watchregistrations.lua @ 8812:3d7fceaff230
mod_watchregistrations: Allow making the message type configurable
| author | Kim Alvefur <zash@zash.se> |
|---|---|
| date | Sun, 20 May 2018 18:56:26 +0200 |
| parents | 6300394bb713 |
| children | 74b9e05af71e |
comparison
equal
deleted
inserted
replaced
| 8811:f2d35eee69c9 | 8812:3d7fceaff230 |
|---|---|
| 11 local jid_prep = require "util.jid".prep; | 11 local jid_prep = require "util.jid".prep; |
| 12 | 12 |
| 13 local registration_watchers = module:get_option_set("registration_watchers", module:get_option("admins", {})) / jid_prep; | 13 local registration_watchers = module:get_option_set("registration_watchers", module:get_option("admins", {})) / jid_prep; |
| 14 local registration_from = module:get_option_string("registration_from", host); | 14 local registration_from = module:get_option_string("registration_from", host); |
| 15 local registration_notification = module:get_option_string("registration_notification", "User $username just registered on $host from $ip"); | 15 local registration_notification = module:get_option_string("registration_notification", "User $username just registered on $host from $ip"); |
| 16 local msg_type = module:get_option_string("registration_notification_type", "chat"); | |
| 16 | 17 |
| 17 local st = require "util.stanza"; | 18 local st = require "util.stanza"; |
| 18 | 19 |
| 19 module:hook("user-registered", function (user) | 20 module:hook("user-registered", function (user) |
| 20 module:log("debug", "Notifying of new registration"); | 21 module:log("debug", "Notifying of new registration"); |
| 21 local message = st.message{ type = "chat", from = registration_from } | 22 local message = st.message{ type = msg_type, from = registration_from } |
| 22 :tag("body") | 23 :tag("body") |
| 23 :text(registration_notification:gsub("%$(%w+)", function (v) | 24 :text(registration_notification:gsub("%$(%w+)", function (v) |
| 24 return user[v] or user.session and user.session[v] or nil; | 25 return user[v] or user.session and user.session[v] or nil; |
| 25 end)) | 26 end)) |
| 26 :up(); | 27 :up(); |
