/* $ModDesc: Gives /cban, aka C:lines. Think Q:lines, for channels. */
+/** Holds a CBAN item
+ */
class CBan : public classbase
{
public:
/* cbans is declared here, as our type is right above. Don't try move it. */
cbanlist cbans;
+/** Handle /CBAN
+ */
class cmd_cban : public command_t
{
public:
syntax = "<channel> [<duration> :<reason>]";
}
- void Handle(const char** parameters, int pcnt, userrec *user)
+ CmdResult Handle(const char** parameters, int pcnt, userrec *user)
{
/* syntax: CBAN #channel time :reason goes here */
/* 'time' is a human-readable timestring, like 2d3h2s. */
else
{
user->WriteServ( "403 %s %s :Invalid channel name", user->nick, parameters[0]);
+ return CMD_FAILURE;
}
}
+
+ return CMD_SUCCESS;
}
};
return 0;
}
- virtual int OnUserPreJoin(userrec *user, chanrec *chan, const char *cname)
+ virtual int OnUserPreJoin(userrec *user, chanrec *chan, const char *cname, std::string &privs)
{
ExpireBans();
virtual Version GetVersion()
{
- return Version(1,0,0,1,VF_VENDOR);
+ return Version(1,1,0,1,VF_VENDOR,API_VERSION);
}
std::string EncodeCBan(const CBan &ban)