Well, this script will ping yourself every minute, but you don't have to look at it, and it works very nicely.
Been using it myself for a couple of years now, and it works briljantly.

Code:
alias keepalive { .ctcp $me ping }

on *:CONNECT:{
  .timerkeepalive 0 60 keepalive
}

CTCP *:PING:*:{
  if ($nick == $me) {
    echo $timestamp 05Connection alive
    echo -
    halt
  }
}