diff --git a/data/nickserv.example.conf b/data/nickserv.example.conf index b0ea75b38..38988c1c7 100644 --- a/data/nickserv.example.conf +++ b/data/nickserv.example.conf @@ -128,9 +128,9 @@ module /* * The minimum length of time between consecutive uses of NickServ's REGISTER command. This - * directive is optional, but recommended. If not set, this restriction will be disabled. + * directive is optional, but recommended. If not set, it defaults to 15 minutes. */ - regdelay = 5m + regdelay = 15m /* * The length of time before a nick's registration expires. @@ -416,6 +416,12 @@ module { name = "ns_group" + /* + * The minimum length of time between consecutive uses of the GROUP command. This directive is + * optional, but recommended. If not set, it defaults to 5 minutes. + */ + delay = 5m + /* * The maximum number of nicks allowed in a group. * diff --git a/modules/nickserv/ns_group.cpp b/modules/nickserv/ns_group.cpp index 3b50583a9..fe80605f7 100644 --- a/modules/nickserv/ns_group.cpp +++ b/modules/nickserv/ns_group.cpp @@ -145,8 +145,9 @@ public: } NickAlias *target, *na = NickAlias::Find(source.GetNick()); - time_t reg_delay = Config->GetModule("nickserv").Get("regdelay"); - auto maxaliases = Config->GetModule(this->owner).Get("maxaliases"); + auto &modconf = Config->GetModule(this->owner); + time_t reg_delay = modconf.Get("delay", Config->GetModule("nickserv").Get("regdelay", "5m")); + auto maxaliases = modconf.Get("maxaliases"); if (!(target = NickAlias::Find(nick))) source.Reply(NICK_X_NOT_REGISTERED, nick.c_str()); else if (user && Anope::CurTime < user->lastnickreg + reg_delay) diff --git a/modules/nickserv/ns_register.cpp b/modules/nickserv/ns_register.cpp index 46fb182d2..ec902c650 100644 --- a/modules/nickserv/ns_register.cpp +++ b/modules/nickserv/ns_register.cpp @@ -66,7 +66,7 @@ public: } time_t nickregdelay = Config->GetModule(this->owner).Get("nickregdelay"); - time_t reg_delay = Config->GetModule("nickserv").Get("regdelay"); + time_t reg_delay = Config->GetModule("nickserv").Get("regdelay", "15m"); if (u && !u->HasMode("OPER") && nickregdelay && Anope::CurTime - u->timestamp < nickregdelay) { auto waitperiod = (u->timestamp + nickregdelay) - Anope::CurTime;