+
+ return MODEACTION_DENY;
+ }
+};
+
+class ModuleOperChans : public Module
+{
+ Server* Srv;
+ OperChans* oc;
+ public:
+ ModuleOperChans(Server* Me)
+ : Module::Module(Me)
+ {
+ Srv = Me;
+ // Add a mode +O for channels with no parameters
+ oc = new OperChans();
+ Srv->AddMode(oc, 'O');
+ }
+
+ void Implements(char* List)
+ {
+ List[I_On005Numeric] = List[I_OnUserPreJoin] = 1;
+ }
+
+ virtual void On005Numeric(std::string &output)
+ {
+ InsertMode(output,"O",4);