Using version 6.03 here, but i had someone test with 6.16 and got the same results.... the problem is as follows:
This works as it should:
/timer 1 1 //if ($me isop $chan(1)) echo -a hi
This does not:
//timer 1 1 if ($me isop $chan(1)) echo -a hi
if you check the /timers after starting the second timer, it appears like this:
* Timer 1 1 time(s) 1s delay if ($me isop #chan echo -a hi (Network)
Notice no ) after #chan
This means you can't use an if statement in a timer if it's called from an alias or remote. When the timer goes off it returns:
* /if: invalid format
Adding more )'s does not change anything in the display of /timers
For Example:
//timer 1 1 if ($me isop $chan(1)) echo -a hi
IS THE SAME AS
//timer 1 1 if ($me isop $chan(1))))))))) echo -a hi
Now, I know workarounds for the problem, (make an alias to evaluate the if, put a space after #chan before the bracket, etc, etc) but I thought the bug should be reported anyway, and hopefully it can be fixed.