view mod_admin_notify/mod_admin_notify.lua @ 4599:06c9c9ef0a51

mod_invites_register: Fix missing 'from' attribute (thanks Martin) This should probably cause a noisier error in Prosody, than the current > No hosts[from_host] (please report): <stanza> A stack trace would have been useful, for example.
author Kim Alvefur <zash@zash.se>
date Fri, 25 Jun 2021 15:12:46 +0200
parents 44e18454e1e0
children
line wrap: on
line source

local it = require "util.iterators";
local jid = require "util.jid";
local set = require "util.set";
local st = require "util.stanza";

local roles_store = module:open_store("roles", "map");
local config_admins = module:get_option_inherited_set("admins", {}) / jid.prep;

local function append_host(username)
	return username.."@"..module.host;
end

local function get_admins()
	local role_admins = roles_store:get_all("prosody:admin") or {};
	local admins = config_admins + (set.new(it.to_array(it.keys(role_admins))) / append_host);
	return admins;
end

function notify(text) --luacheck: ignore 131/notify
	local base_msg = st.message({ from = module.host })
		:text_tag("body", text);
	for admin_jid in get_admins() do
		local msg = st.clone(base_msg);
		msg.attr.to = admin_jid;
		module:send(msg);
	end
end