class Redirect : public ModeHandler
{
public:
- Redirect(InspIRCd* Instance, Module* Creator) : ModeHandler(Instance, Creator, 'L', 1, 0, false, MODETYPE_CHANNEL, false) { }
+ Redirect(Module* Creator) : ModeHandler(Creator, 'L', PARAM_SETONLY, MODETYPE_CHANNEL) { }
ModePair ModeSet(User* source, User* dest, Channel* channel, const std::string ¶meter)
{
parameter.clear();
return MODEACTION_DENY;
}
- else if (c->GetStatus(source) < STATUS_OP)
+ else if (c->GetPrefixValue(source) < OP_VALUE)
{
source->WriteNumeric(690, "%s :You must be opped on %s to set it as a redirect.",source->nick.c_str(),parameter.c_str());
parameter.clear();
public:
- ModuleRedirect(InspIRCd* Me)
- : Module(Me), re(Me, this)
+ ModuleRedirect()
+ : re(this)
{
if (!ServerInstance->Modes->AddMode(&re))
}
user->WriteNumeric(470, "%s %s %s :You may not join this channel, so you are automatically being transferred to the redirect channel.", user->nick.c_str(), cname, channel.c_str());
- Channel::JoinUser(ServerInstance, user, channel.c_str(), false, "", false, ServerInstance->Time());
+ Channel::JoinUser(user, channel.c_str(), false, "", false, ServerInstance->Time());
return MOD_RES_DENY;
}
}
virtual Version GetVersion()
{
- return Version("$Id$", VF_COMMON | VF_VENDOR, API_VERSION);
+ return Version("Provides channel mode +L (limit redirection)", VF_COMMON | VF_VENDOR, API_VERSION);
}
};