Why not use one check for $dialog(ignore) :
raw *:*:{
if ($dialog(ignore)) {
goto $numeric
:319 | did -a ignore 1 Channels: $3- $crlf | halt
:311
did -a ignore 1 Whois: From $1 to $2 $crlf
did -a ignore 1 Address: @ $+ $4 $crlf
halt
:312 | did -a ignore 1 Server: $3 $+ , $4- $crlf | halt
:330 | did -a ignore 1 AuthServ Account: $3 $crlf | halt
:307 | did -a ignore 1 $2- $crlf | halt
:338 | did -a ignore 1 $1- $crlf | halt
:318 | did -a ignore 1 $2- $crlf | halt
:317 | did -a ignore 1 Idle: $duration($3) $+ , $&
Signed on: $asctime($4,dddd mm/dd/yyyy HH:nntt) $crlf
halt
}
}