1 /* +------------------------------------+
2 * | Inspire Internet Relay Chat Daemon |
3 * +------------------------------------+
5 * InspIRCd: (C) 2002-2009 InspIRCd Development Team
6 * See: http://wiki.inspircd.org/Credits
8 * This program is free but copyrighted software; see
9 * the file COPYING for details.
11 * ---------------------------------------------------
17 /* $ModDesc: Prevents users whose nicks are not registered from creating new channels */
19 class ModuleRegOnlyCreate : public Module
24 Implementation eventlist[] = { I_OnUserPreJoin };
25 ServerInstance->Modules->Attach(eventlist, this, 1);
28 ModResult OnUserPreJoin(User* user, Channel* chan, const char* cname, std::string &privs, const std::string &keygiven)
31 return MOD_RES_PASSTHRU;
34 return MOD_RES_PASSTHRU;
36 if (user->IsModeSet('r'))
37 return MOD_RES_PASSTHRU;
39 const AccountExtItem* ext = GetAccountExtItem();
40 if (ext && ext->get(user))
41 return MOD_RES_PASSTHRU;
43 // XXX. there may be a better numeric for this..
44 user->WriteNumeric(ERR_CHANOPRIVSNEEDED, "%s %s :You must have a registered nickname to create a new channel", user->nick.c_str(), cname);
48 ~ModuleRegOnlyCreate()
54 return Version("Prevents users whose nicks are not registered from creating new channels", VF_VENDOR);
58 MODULE_INIT(ModuleRegOnlyCreate)