mIRC Homepage
Posted By: Rusteaux mirc 7.64 /j bug - 12/01/21 07:11 PM
using a script timer to join #12$C=mS^2$21 with /join does not work. a work around is to set a remote to join the channel and type a trigger in the timer for the remote. is this a bug or design?
Posted By: maroon Re: mirc 7.64 /j bug - 12/01/21 07:45 PM
Can you more clearly show what doesn't work? Some networks like freenode won't allow this as a #channel name, but at EFnet i can successfully join that channel by pasting either of these commands into the status window:

//timer 1 1 join #12$C=mS^2$21
/timer 1 1 join #12$C=mS^2$21
Posted By: Protopia Re: mirc 7.64 /j bug - 12/01/21 08:27 PM
Could it be that the $ symbol is being treated as an identifier in one situation and not the other?

What happens if you type //join #12$C=mS^2$21 ?
Posted By: maroon Re: mirc 7.64 /j bug - 12/01/21 08:52 PM
no, the $ evaluates only if preceded by space or by '#', as well as preceded by parenthesis or comma inside an identifier's parameters. That's why I gave both examples of 1 and 2 slashes. Both methods are the same string, so there's no evaluation.

//echo -a #$version is numeric even inside a #channel window which evaluates the # to a not-null string.

/echo -a #12$C=mS^2$21
is same as
//echo -a #12$C=mS^2$21
Posted By: Rusteaux Re: mirc 7.64 /j bug - 15/01/21 04:03 AM
jI didn't get a notice of a reply. came on forum because windows update causes Mirc UI not to show (is in processes on PC). will reply with answer when I get on Mirc again. I did reinstall mirc on top of same location and problem did not change.
Posted By: Rusteaux Re: mirc 7.64 /j bug - 16/01/21 04:39 PM
/timer 1 1 join #$C=mS^3$
* Timer 1 activated
* No such identifier: #$C=mS^3$
* Timer 1 halted

/timer 1 1 join #12$C=mS^2$21 (note changed to not show actual channel name for example given) actually works
* Timer 1 activated
* Timer 1 halted
and window opens. My obfuscation example works while original does not (#$C=mS^3$)
Posted By: maroon Re: mirc 7.64 /j bug - 16/01/21 04:51 PM
You did the XY problem. You gave a completely different question which didn't have the problem, instead of giving the actual channel name which does have the problem. As I stated in my previous posts, one of the situations where the $ evaluates as an identifier is when the $ is preceded by a # which is what's happening in your final example. If you don't want the timer to evaluate the command line, you need to wrap the command line inside the $unsafe identifier:

//timer 1 1 $unsafe( join #$C=mS^3$ )
Posted By: Rusteaux Re: mirc 7.64 /j bug - 16/01/21 06:16 PM
it is a secure back channel and don't want the actual name public on a forum. I do apologize.
//timer 1 1 $unsafe( join #$C=mS^3$ )
gave * No such identifier: #$C=mS^3$
Posted By: Protopia Re: mirc 7.64 /j bug - 16/01/21 09:49 PM
FFS - if you change the example you give (even for a good reason), then you should at least confirm that the new example you give suffers from the same problem.
Posted By: maroon Re: mirc 7.64 /j bug - 16/01/21 09:59 PM
that literal string in a script will work. but on the editbox it will evaluate before being placed into the timer. if you want to do this from the editbox too, then use 1 slash

/timer 1 1 $unsafe( join #$C=mS^3$ )
Posted By: Rusteaux Re: mirc 7.64 /j bug - 19/01/21 01:23 AM
/timer 1 1 $unsafe( join #$C=mS^3$ )
done in edit box .. got below lines.
* Timer 1 activated
* No such identifier: #$C=mS^3$
* Timer 1 halted
Posted By: maroon Re: mirc 7.64 /j bug - 19/01/21 02:24 AM
//timer 1 1 join $unsafe( $eval(#$C=mS^3$,0) )
© mIRC Discussion Forums