annotate mod_muc_restrict_nick/mod_muc_restrict_nick.lua @ 4836:5fc306239db3

mod_pep_atom_categories: Add a module to index categories in Atom entries A new node is created for each category, named category-<the category>, which contains a list of all node/item tuples having said category as a tag.
author Emmanuel Gil Peyrot <linkmauve@linkmauve.fr>
date Sat, 25 Dec 2021 15:35:17 +0100
parents e7b126161e7b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
4588
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
1 local jid = require "util.jid";
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
2 local st = require "util.stanza";
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
3
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
4 local nick_pattern = module:get_option_string("muc_restrict_nick_pattern", "^%w+$");
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
5
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
6 module:hook("muc-occupant-pre-join", function (event)
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
7 local nick = jid.resource(event.occupant.nick);
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
8 if not nick:match(nick_pattern) then
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
9 local reply = st.error_reply(event.stanza, "modify", "policy-violation", "Unacceptable nickname, please try another");
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
10 module:send(reply);
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
11 return true;
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
12 end
e7b126161e7b mod_muc_restrict_nick: New module to restrict MUC occupant nicknames
Matthew Wild <mwild1@gmail.com>
parents:
diff changeset
13 end);