virtual int OnUserPreJoin(User* user, Channel* chan, const char* cname, std::string &privs, const std::string &keygiven)
{
- bool banned = false;
-
if (!IS_OPER(user))
{
if (chan)
{
if (chan->IsModeSet('O'))
{
- banned = true;
+ user->WriteNumeric(ERR_CANTJOINOPERSONLY, "%s %s :Only IRC operators may join the channel %s (+O is set)",user->nick.c_str(), chan->name.c_str(), chan->name.c_str());
+ return 1;
}
}
}
{
if (chan && chan->IsExtBanned(user->oper, 'O'))
{
- banned = true;
+ user->WriteNumeric(ERR_BANNEDFROMCHAN, "%s %s :Cannot join channel (You're banned)", user->nick.c_str(), chan->name.c_str());
+ return 1;
}
}
- if (banned)
- {
- user->WriteNumeric(ERR_CANTJOINOPERSONLY, "%s %s :Only IRC operators may join the channel %s (+O is set)",user->nick.c_str(), chan->name.c_str(), chan->name.c_str());
- return 1;
- }
-
return 0;
}
virtual Version GetVersion()
{
- return Version(1,2,0,0,VF_VENDOR|VF_COMMON,API_VERSION);
+ return Version("$Id$", VF_VENDOR | VF_COMMON, API_VERSION);
}
};