summaryrefslogtreecommitdiff
path: root/modules/pseudoclients/chanserv.cpp
diff options
context:
space:
mode:
authorAdam <Adam@anope.org>2013-10-02 13:31:45 -0400
committerAdam <Adam@anope.org>2013-10-05 00:33:03 -0400
commite5b8435769f9c5aa5326a60811cfae6fda2f5807 (patch)
treec9345ca21d18d77a08ad0d6d757f9152a19db62b /modules/pseudoclients/chanserv.cpp
parente5890808278a641a7aaf1a0000ec5d72767c942c (diff)
Fix not setting -r when channels are deleted
Diffstat (limited to 'modules/pseudoclients/chanserv.cpp')
-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