7 /* $ModDesc: Provides support for unreal-style channel mode +c */
9 class ModuleNoCTCP : public Module
18 Srv->AddExtendedMode('C',MT_CHANNEL,false,0,0);
21 virtual int OnUserPreMessage(userrec* user,void* dest,int target_type, std::string text)
23 if (target_type == TYPE_CHANNEL)
25 chanrec* c = (chanrec*)dest;
26 if (c->IsCustomModeSet('C'))
28 if ((text.length()) && (text[0] == '\1'))
30 WriteServ(user->fd,"492 %s %s :Can't send CTCP to channel (+C set)",user->nick, c->name);
38 virtual int OnUserPreNotice(userrec* user,void* dest,int target_type, std::string text)
40 if (target_type == TYPE_CHANNEL)
42 chanrec* c = (chanrec*)dest;
43 if (c->IsCustomModeSet('C'))
45 if ((text.length()) && (text[0] == '\1'))
47 WriteServ(user->fd,"492 %s %s :Can't send CTCP to channel (+C set)",user->nick, c->name);
55 virtual ~ModuleNoCTCP()
60 virtual Version GetVersion()
62 return Version(1,0,0,0);
67 class ModuleNoCTCPFactory : public ModuleFactory
74 ~ModuleNoCTCPFactory()
78 virtual Module * CreateModule()
80 return new ModuleNoCTCP;
86 extern "C" void * init_module( void )
88 return new ModuleNoCTCPFactory;