+ Srv->SendOpers("*** "+std::string(user->nick)+" used operoverride to bypass +i on "+std::string(cname));
+ return -1;
+ }
+ if ((chan->key[0]) && (CanOverride(user,"KEY")))
+ {
+ if (NoisyOverride)
+ WriteChannelWithServ((char*)Srv->GetServerName().c_str(),chan,user,"NOTICE %s :%s bypassed the channel key",cname,user->nick);
+ Srv->SendOpers("*** "+std::string(user->nick)+" used operoverride to bypass +k on "+std::string(cname));
+ return -1;
+ }
+ if ((chan->limit >= Srv->CountUsers(chan)) && (CanOverride(user,"LIMIT")))
+ {
+ if (NoisyOverride)
+ WriteChannelWithServ((char*)Srv->GetServerName().c_str(),chan,user,"NOTICE %s :%s passed through your channel limit",cname,user->nick);
+ Srv->SendOpers("*** "+std::string(user->nick)+" used operoverride to bypass ++l on "+std::string(cname));
+ return -1;
+ }
+
+ if (CanOverride(user,"BANWALK"))
+ {
+ // other join
+ return -1;