*/
class Channel_r : public ModeHandler
{
-
public:
- Channel_r(Module* Creator) : ModeHandler(Creator, "registered", 'r', PARAM_NONE, MODETYPE_CHANNEL) { }
+ Channel_r(Module* Creator) : ModeHandler(Creator, "c_registered", 'r', PARAM_NONE, MODETYPE_CHANNEL) { }
ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding)
{
{
public:
- User_r(Module* Creator) : ModeHandler(Creator, "registered", 'r', PARAM_NONE, MODETYPE_USER) { }
+ User_r(Module* Creator) : ModeHandler(Creator, "u_registered", 'r', PARAM_NONE, MODETYPE_USER) { }
ModeAction OnModeChange(User* source, User* dest, Channel* channel, std::string ¶meter, bool adding)
{
ServerInstance->Modules->AddService(m5);
ServerInstance->Modules->AddService(accountname);
Implementation eventlist[] = { I_OnWhois, I_OnUserPreMessage, I_OnUserPreNotice, I_OnUserPreJoin, I_OnCheckBan,
- I_OnDecodeMetaData, I_On005Numeric, I_OnUserPostNick };
+ I_OnDecodeMetaData, I_On005Numeric, I_OnUserPostNick, I_OnSetConnectClass };
- ServerInstance->Modules->Attach(eventlist, this, 8);
+ ServerInstance->Modules->Attach(eventlist, this, 9);
}
void On005Numeric(std::string &t)
if (target_type == TYPE_CHANNEL)
{
Channel* c = (Channel*)dest;
- ModResult res;
- FIRST_MOD_RESULT(OnChannelRestrictionApply, res, (user,c,"regmoderated"));
+ ModResult res = ServerInstance->OnCheckExemption(user,c,"regmoderated");
if (c->IsModeSet('M') && !is_registered && res != MOD_RES_ALLOW)
{
}
}
- ~ModuleServicesAccount()
+ ModResult OnSetConnectClass(LocalUser* user, ConnectClass* myclass)
{
+ if (myclass->config->getBool("requireaccount") && !accountname.get(user))
+ return MOD_RES_DENY;
+ return MOD_RES_PASSTHRU;
}
Version GetVersion()