Add NO_ACT checks for actions and notices

This commit is contained in:
David Leadbeater 2014-06-30 00:10:24 +01:00
parent 6bbb114046
commit e8b0eb4986

View File

@ -170,6 +170,10 @@ static void sig_message_irc_action(IRC_SERVER_REC *server, const char *msg,
if (ignore_check(SERVER(server), nick, address, target, msg, level)) if (ignore_check(SERVER(server), nick, address, target, msg, level))
return; return;
if (ignore_check(SERVER(server), nick, address, target, msg,
level | MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
if (ischannel(*target)) if (ischannel(*target))
item = irc_channel_find(server, target); item = irc_channel_find(server, target);
else else
@ -214,6 +218,7 @@ static void sig_message_irc_notice(SERVER_REC *server, const char *msg,
const char *target) const char *target)
{ {
const char *oldtarget; const char *oldtarget;
int level = MSGLEVEL_NOTICES;
oldtarget = target; oldtarget = target;
target = skip_target(IRC_SERVER(server), target); target = skip_target(IRC_SERVER(server), target);
@ -230,18 +235,23 @@ static void sig_message_irc_notice(SERVER_REC *server, const char *msg,
if (ignore_check(server, nick, address, if (ignore_check(server, nick, address,
ischannel(*target) ? target : NULL, ischannel(*target) ? target : NULL,
msg, MSGLEVEL_NOTICES)) msg, level))
return; return;
if (ignore_check(server, nick, address,
ischannel(*target) ? target : NULL,
msg, level | MSGLEVEL_NO_ACT))
level |= MSGLEVEL_NO_ACT;
if (ischannel(*target)) { if (ischannel(*target)) {
/* notice in some channel */ /* notice in some channel */
printformat(server, target, MSGLEVEL_NOTICES, printformat(server, target, level,
IRCTXT_NOTICE_PUBLIC, nick, oldtarget, msg); IRCTXT_NOTICE_PUBLIC, nick, oldtarget, msg);
} else { } else {
/* private notice */ /* private notice */
privmsg_get_query(SERVER(server), nick, FALSE, privmsg_get_query(SERVER(server), nick, FALSE,
MSGLEVEL_NOTICES); MSGLEVEL_NOTICES);
printformat(server, nick, MSGLEVEL_NOTICES, printformat(server, nick, level,
IRCTXT_NOTICE_PRIVATE, nick, address, msg); IRCTXT_NOTICE_PRIVATE, nick, address, msg);
} }
} }