summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/pseudoclients/chanserv.cpp8
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> &params) anope_override