1
0
mirror of https://github.com/anope/anope.git synced 2026-07-07 19:03:14 +02:00

Fixed OSOpersOnly & CSOpersOnly

This commit is contained in:
Adam
2011-07-14 21:40:21 -04:00
parent 1a2486d2ec
commit f277be0f26
5 changed files with 29 additions and 7 deletions
+1 -1
View File
@@ -999,7 +999,7 @@ class CoreExport Module : public Extensible
* @param message The message
* @return EVENT_STOP to halt processing
*/
virtual EventReturn OnBotPrivmsg(User *u, BotInfo *bi, const Anope::string &message) { return EVENT_CONTINUE; }
virtual EventReturn OnBotPrivmsg(User *u, BotInfo *bi, Anope::string &message) { return EVENT_CONTINUE; }
/** Called when we receive a PRIVMSG for a registered channel we are in
* @param u The source of the message
+13 -2
View File
@@ -24,8 +24,19 @@ class ChanServCore : public Module
if (ChanServ == NULL)
throw ModuleException("No bot named " + Config->ChanServ);
Implementation i[] = { I_OnDelChan, I_OnPreHelp, I_OnPostHelp };
ModuleManager::Attach(i, this, 3);
Implementation i[] = { I_OnBotPrivmsg, I_OnDelChan, I_OnPreHelp, I_OnPostHelp };
ModuleManager::Attach(i, this, 4);
}
EventReturn OnBotPrivmsg(User *u, BotInfo *bi, Anope::string &message)
{
if (Config->CSOpersOnly && !u->HasMode(UMODE_OPER) && bi->nick == Config->ChanServ)
{
u->SendMessage(bi, ACCESS_DENIED);
return EVENT_STOP;
}
return EVENT_CONTINUE;
}
void OnDelCore(NickCore *nc)
+1 -1
View File
@@ -338,7 +338,7 @@ class OSIgnore : public Module
}
}
EventReturn OnBotPrivmsg(User *u, BotInfo *bi, const Anope::string &message)
EventReturn OnBotPrivmsg(User *u, BotInfo *bi, Anope::string &message)
{
if (this->osignoreservice.Find(u->nick))
return EVENT_STOP;
+13 -2
View File
@@ -292,8 +292,8 @@ class OperServCore : public Module
if (OperServ == NULL)
throw ModuleException("No bot named " + Config->OperServ);
Implementation i[] = { I_OnServerQuit, I_OnUserModeSet, I_OnUserModeUnset, I_OnUserConnect, I_OnUserNickChange, I_OnPreHelp };
ModuleManager::Attach(i, this, 6);
Implementation i[] = { I_OnBotPrivmsg, I_OnServerQuit, I_OnUserModeSet, I_OnUserModeUnset, I_OnUserConnect, I_OnUserNickChange, I_OnPreHelp };
ModuleManager::Attach(i, this, 7);
ModuleManager::RegisterService(&sglines);
ModuleManager::RegisterService(&szlines);
@@ -307,6 +307,17 @@ class OperServCore : public Module
XLineManager::RegisterXLineManager(&snlines);
}
EventReturn OnBotPrivmsg(User *u, BotInfo *bi, Anope::string &message)
{
if (Config->OSOpersOnly && !u->HasMode(UMODE_OPER) && bi->nick == Config->OperServ)
{
u->SendMessage(bi, ACCESS_DENIED);
return EVENT_STOP;
}
return EVENT_CONTINUE;
}
void OnServerQuit(Server *server)
{
if (server->HasFlag(SERVER_JUPED))
+1 -1
View File
@@ -791,7 +791,7 @@ bool ChannelInfo::CheckKick(User *user)
bool set_modes = false, do_kick = false;
EventReturn MOD_RESULT;
FOREACH_MOD(I_OnCheckKick, OnCheckKick(user, this, do_kick));
FOREACH_RESULT(I_OnCheckKick, OnCheckKick(user, this, do_kick));
if (MOD_RESULT == EVENT_ALLOW)
return false;