7 /* $ModDesc: Provides support for unreal-style channel mode +Q */
9 class ModuleNoKicks : public Module
20 Srv->AddExtendedMode('Q',MT_CHANNEL,false,0,0);
23 virtual int OnAccessCheck(userrec* source,userrec* dest,chanrec* channel,int access_type)
25 if (access_type == AC_KICK)
27 if (channel->IsCustomModeSet('Q'))
29 if ((Srv->IsUlined(source->nick)) || (Srv->IsUlined(source->server)) || (!strcmp(source->server,"")))
31 // ulines can still kick with +Q in place
36 // nobody else can (not even opers with override, and founders)
44 virtual ~ModuleNoKicks()
49 virtual Version GetVersion()
51 return Version(1,0,0,0);
56 class ModuleNoKicksFactory : public ModuleFactory
59 ModuleNoKicksFactory()
63 ~ModuleNoKicksFactory()
67 virtual Module * CreateModule()
69 return new ModuleNoKicks;
75 extern "C" void * init_module( void )
77 return new ModuleNoKicksFactory;