class CommandCBan : public Command
{
public:
- CommandCBan(InspIRCd* Me, Module* Creator) : Command(Me, Creator, "CBAN", "o", 1, 3)
+ CommandCBan(Module* Creator) : Command(Creator, "CBAN", 1, 3)
{
- this->syntax = "<channel> [<duration> :<reason>]";
+ flags_needed = 'o'; this->syntax = "<channel> [<duration> :<reason>]";
TRANSLATE4(TR_TEXT,TR_TEXT,TR_TEXT,TR_END);
}
return CMD_FAILURE;
}
+
+ RouteDescriptor GetRouting(User* user, const std::vector<std::string>& parameters)
+ {
+ return ROUTE_BROADCAST;
+ }
};
class ModuleCBan : public Module
CBanFactory f;
public:
- ModuleCBan(InspIRCd* Me) : Module(Me), mycommand(Me, this), f(Me)
+ ModuleCBan(InspIRCd* Me) : Module(Me), mycommand(this), f(Me)
{
ServerInstance->XLines->RegisterFactory(&f);
ServerInstance->XLines->UnregisterFactory(&f);
}
- virtual int OnStats(char symbol, User* user, string_list &out)
+ virtual ModResult OnStats(char symbol, User* user, string_list &out)
{
if (symbol != 'C')
- return 0;
+ return MOD_RES_PASSTHRU;
ServerInstance->XLines->InvokeStats("CBAN", 210, user, out);
- return 1;
+ return MOD_RES_DENY;
}
- virtual int OnUserPreJoin(User *user, Channel *chan, const char *cname, std::string &privs, const std::string &keygiven)
+ virtual ModResult OnUserPreJoin(User *user, Channel *chan, const char *cname, std::string &privs, const std::string &keygiven)
{
XLine *rl = ServerInstance->XLines->MatchesLine("CBAN", cname);
ServerInstance->SNO->WriteToSnoMask('a', "%s tried to join %s which is CBANed (%s)",
user->nick.c_str(), cname, rl->reason.c_str());
ServerInstance->PI->SendSNONotice("A", user->nick + " tried to join " + std::string(cname) + " which is CBANed (" + rl->reason + ")");
- return 1;
+ return MOD_RES_DENY;
}
- return 0;
+ return MOD_RES_PASSTHRU;
}
virtual Version GetVersion()