diff options
-rw-r--r-- | modules/pseudoclients/chanserv.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/modules/pseudoclients/chanserv.cpp b/modules/pseudoclients/chanserv.cpp index 11c019774..d4b98625a 100644 --- a/modules/pseudoclients/chanserv.cpp +++ b/modules/pseudoclients/chanserv.cpp @@ -228,7 +228,13 @@ class ChanServCore : public Module, public ChanServService } if (ci->c) - OnCheckModes(ci->c); + { + ci->c->RemoveMode(ci->WhoSends(), "REGISTERED", "", false); + + const Anope::string &require = Config->GetModule(this)->Get<const Anope::string>("require"); + if (!require.empty()) + ci->c->SetModes(ci->WhoSends(), false, "-%s", require.c_str()); + } } EventReturn OnPreHelp(CommandSource &source, const std::vector<Anope::string> ¶ms) anope_override |