Here's my way, including a hash table based flood protection:
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.