Mercurial > prosody-modules
view mod_muc_restrict_nick/mod_muc_restrict_nick.lua @ 4983:7c77058a1ac5
mod_compat_roles: New module providing compat shim for trunk's new role API
The new role API is translated to is_admin() calls on older versions. On newer
versions (which have the role API) this module does nothing.
It allows modules to drop their use of is_admin() (which is not available in
trunk) and switch to the new role API, while remaining compatible with
previous Prosody versions.
author | Matthew Wild <mwild1@gmail.com> |
---|---|
date | Thu, 11 Aug 2022 17:49:33 +0100 |
parents | e7b126161e7b |
children |
line wrap: on
line source
local jid = require "util.jid"; local st = require "util.stanza"; local nick_pattern = module:get_option_string("muc_restrict_nick_pattern", "^%w+$"); module:hook("muc-occupant-pre-join", function (event) local nick = jid.resource(event.occupant.nick); if not nick:match(nick_pattern) then local reply = st.error_reply(event.stanza, "modify", "policy-violation", "Unacceptable nickname, please try another"); module:send(reply); return true; end end);