Another one option is to highlight specific service nicknames that send notices. For such messages, do not make a separator between the lines, but for all other messages do:
on *:NOTICE:*:?:{
if (!$count($nick,NickServ,ChanServ,MemoServ,BotServ,HostServ,OperServ)) { .echo $chan $chr(45) }
}
And you can even catch notification lines, start and end, to stop setting the line separator:
on *:NOTICE:*:?:{
if ($count($nick,NickServ,ChanServ,MemoServ,BotServ,HostServ,OperServ)) {
if (NickServ Help isin $strip($1-)) { .hadd -m sep stop 1 }
if (End of Help isin $strip($1-)) { if ($hget(sep,stop)) .hdel -sw sep stop }
}
if (!$hget(sep,stop)) { .echo -s $chr(45) }
}
Or even this option, perhaps the most suitable for your question:
on ^*:NOTICE:*:?:{
if ($istok(NickServ ChanServ MemoServ BotServ HostServ OperServ,$nick,32)) {
if (NickServ Help isin $strip($1-)) { .echo -s $chr(45) | .echo -st $+(05,$chr(45),$nick,$chr(45)) $v2 | haltdef }
if (End of Help isin $strip($1-)) { .echo -st $+(05,$chr(45),$nick,$chr(45)) $v2 | .echo -s $chr(45) | haltdef }
}
}
It's can also be done for "
WHOIS" messages if needed.