2 * SAMODE module for InspIRCd
3 * Co authored by Brain and w00t
5 * Syntax: /SAMODE <#chan/nick> +/-<modes> [parameters for modes]
9 /* $ModDesc: Povides more advanced UnrealIRCd SAMODE command */
13 * Err... not a lot really.
24 void handle_samode(char **parameters, int pcnt, userrec *user)
27 * Handles an SAMODE request. Notifies all +s users.
31 Srv->Log(DEBUG,"SAMODE: Being handled");
32 Srv->SendMode(parameters,pcnt,user);
33 Srv->Log(DEBUG,"SAMODE: Modechange handled");
34 result = std::string(user->nick) + std::string(" used SAMODE ");
37 result=result + std::string(" ") + std::string(parameters[n]);
40 Srv->SendOpers(result);
43 class ModuleSaMode : public Module
49 Srv->Log(DEBUG,"SAMODE: Pre-add cmd");
50 Srv->AddCommand("SAMODE",handle_samode,'o',2);
51 Srv->Log(DEBUG,"SAMODE: Post-add cmd");
54 virtual ~ModuleSaMode()
59 virtual Version GetVersion()
61 return Version(1,0,2,1);
64 virtual void OnUserConnect(userrec* user)
71 class ModuleSaModeFactory : public ModuleFactory
78 ~ModuleSaModeFactory()
82 virtual Module * CreateModule()
84 return new ModuleSaMode;
90 extern "C" void * init_module( void )
92 return new ModuleSaModeFactory;