annotate mod_muc_restrict_nick/mod_muc_restrict_nick.lua @ 5491:7842502c1157

mod_http_debug: Log some extended info about requests If you point something external at this module, you don't get the response body back, hence it can be useful to see some details in the log as well.
author Kim Alvefur <zash@zash.se>
date Fri, 26 May 2023 15:37:15 +0200
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);