mod_compat_roles: Fix attempt to index a nil value #1847
permissions[] is not a map with role names as keys since 817bc9873fc2
but instead a level with host names were added. This was likely an
oversight.
Refactored towards railroad.
local jid = require "util.jid";
local st = require "util.stanza";
local nick_patterns = module:get_option_array("muc_reserve_nick_patterns", {});
module:hook("muc-occupant-pre-join", function (event)
local nick = jid.resource(event.occupant.nick);
for k, nick_pattern in pairs(nick_patterns) do
if nick:match(nick_pattern) then
local reply = st.error_reply(event.stanza, "modify", "conflict", "Unacceptable nickname, please try another");
module:send(reply);
return true;
end
end
end);