summaryrefslogtreecommitdiff
path: root/src/messages.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/messages.c')
-rw-r--r--src/messages.c59
1 files changed, 34 insertions, 25 deletions
diff --git a/src/messages.c b/src/messages.c
index b0c1c520d..a1135b2f1 100644
--- a/src/messages.c
+++ b/src/messages.c
@@ -165,32 +165,41 @@ int m_privmsg(const char *source, const char *receiver, const char *msg)
starttime = time(NULL);
- if (!stricmp(receiver, s_OperServ)) {
- if (!is_oper(u) && OSOpersOnly) {
- notice_lang(s_OperServ, u, ACCESS_DENIED);
- if (WallBadOS)
- ircdproto->SendGlobops(s_OperServ,
- "Denied access to %s from %s!%s@%s (non-oper)",
- s_OperServ, u->nick, u->GetIdent().c_str(),
- u->host);
- } else {
- operserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
+ bi = findbot(receiver);
+
+ if (bi)
+ {
+ if (!stricmp(bi->nick, s_OperServ))
+ {
+ if (!is_oper(u) && OSOpersOnly)
+ {
+ notice_lang(s_OperServ, u, ACCESS_DENIED);
+ if (WallBadOS)
+ ircdproto->SendGlobops(s_OperServ, "Denied access to %s from %s!%s@%s (non-oper)", s_OperServ, u->nick, u->GetIdent().c_str(), u->host);
+ }
+ else
+ operserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
+ }
+ else if (!stricmp(bi->nick, s_NickServ))
+ nickserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
+ else if (!stricmp(bi->nick, s_ChanServ))
+ {
+ if (!is_oper(u) && CSOpersOnly)
+ notice_lang(s_ChanServ, u, ACCESS_DENIED);
+ else
+ chanserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
+ }
+ else if (!stricmp(bi->nick, s_MemoServ))
+ memoserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
+ else if (s_HostServ && !stricmp(bi->nick, s_HostServ))
+ hostserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
+ else if (s_BotServ)
+ {
+ if (!stricmp(bi->nick, s_BotServ))
+ botserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
+ else
+ botmsgs(u, bi, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
}
- } else if (!stricmp(receiver, s_NickServ)) {
- nickserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
- } else if (!stricmp(receiver, s_ChanServ)) {
- if (!is_oper(u) && CSOpersOnly)
- notice_lang(s_ChanServ, u, ACCESS_DENIED);
- else
- chanserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
- } else if (!stricmp(receiver, s_MemoServ)) {
- memoserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
- } else if (s_HostServ && !stricmp(receiver, s_HostServ)) {
- hostserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
- } else if (s_BotServ && !stricmp(receiver, s_BotServ)) {
- botserv(u, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
- } else if (s_BotServ && (bi = findbot(receiver))) {
- botmsgs(u, bi, const_cast<char *>(msg)); // XXX Unsafe cast, this needs reviewing -- CyberBotX
}
/* Add to ignore list if the command took a significant amount of time. */