create a small script, then when the channel is empty you auto cycle it to gain op again..
Code:
on *:PART:#: {
  if ($nick(#,0) == 1) { cycle $chan }
}
on *:QUIT:{
  if ($nick(#,0) == 1) { cycle $chan }
}
alias cycle { 
    part $1
    .timerj 1 1 join $1
}

This is how i solved the problem, but didnt test this code, was a while ago and dont have the code i used.

The code goes in a clean remote file. ALT + R in your mirc.


if ($me != tired) { return } | else { echo -a Get a pot of coffee now $+($me,.) }