Here's my way, including a hash table based flood protection:
Code:
ON ^*:OPEN:?: {
  if ($hget(flood,flood) == $null) {
    .hadd -sm flood flood 1
    echo $colour(info) -ta $nick has opened a private chat with you
    .timer 1 5 .hfree -sw flood
  }
}

It will just send one message to those querying you and only works every five seconds which helps to stop clones flooding you off.