X-Git-Url: https://git.netwichtig.de/gitweb/?a=blobdiff_plain;f=src%2Fmodules%2Fm_regonlycreate.cpp;h=0ffe5e085010f43a62bdc846d4d2334e11c1f553;hb=43b5073d6f80a8dcb7044ecd127fd5893da033ab;hp=96a2cbab756d32a4d19f117e6c10d051aa2d1893;hpb=d9d99cd02dadf34bfcc220734ba0c422f0acb3e6;p=user%2Fhenk%2Fcode%2Finspircd.git diff --git a/src/modules/m_regonlycreate.cpp b/src/modules/m_regonlycreate.cpp index 96a2cbab7..0ffe5e085 100644 --- a/src/modules/m_regonlycreate.cpp +++ b/src/modules/m_regonlycreate.cpp @@ -23,15 +23,14 @@ #include "inspircd.h" #include "modules/account.h" -/* $ModDesc: Prevents users whose nicks are not registered from creating new channels */ - class ModuleRegOnlyCreate : public Module { + UserModeReference regusermode; + public: - void init() CXX11_OVERRIDE + ModuleRegOnlyCreate() + : regusermode(this, "u_registered") { - Implementation eventlist[] = { I_OnUserPreJoin }; - ServerInstance->Modules->Attach(eventlist, this, sizeof(eventlist)/sizeof(Implementation)); } ModResult OnUserPreJoin(LocalUser* user, Channel* chan, const std::string& cname, std::string& privs, const std::string& keygiven) CXX11_OVERRIDE @@ -42,7 +41,7 @@ class ModuleRegOnlyCreate : public Module if (user->IsOper()) return MOD_RES_PASSTHRU; - if (user->IsModeSet('r')) + if (user->IsModeSet(regusermode)) return MOD_RES_PASSTHRU; const AccountExtItem* ext = GetAccountExtItem(); @@ -50,7 +49,7 @@ class ModuleRegOnlyCreate : public Module return MOD_RES_PASSTHRU; // XXX. there may be a better numeric for this.. - user->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s %s :You must have a registered nickname to create a new channel", user->nick.c_str(), cname.c_str()); + user->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s :You must have a registered nickname to create a new channel", cname.c_str()); return MOD_RES_DENY; }