When a user parts a channel, $nick() still counts them inside the on PART event (unless /updatenl is called prior to $nick()). Also, you don't want the event to trigger when you part. So something like this should be used:
Code:
on !*:part:#: if $nick(#,0) == 2 && !$nick(#,$me,oq) { hop # }


/.timerQ 1 0 echo /.timerQ 1 0 $timer(Q).com