and this happens only when the alias is called by a timer, if you call everything without a timer, and everything is fine with adiir&#1089;, after updating to 7.54 I thought that because of the update, I rolled it back to 7.52, but the same thing, help, is it really impossible to call? it seems like before i did everything it worked

when you call your alias manually, you're doing it from within the #channel window where $chan is defined either for a command typed in the editbox or launched from the nicklist or channel rightclick menus. mIRC has never defined $chan for a timer launched from :TEXT: or other similar events.

Note how the

* Timer 1 activated* Timer 1 halted

created during your event are echoed by mIRC to the status window instead of the channel. To avoid the activated/halt message showing, use .timer instead of timer

If you want this alias to work from within the :TEXT: event, you need to pass the channel name to the alias on its command line

Can I ask another question? Is there any way to resume the script with running timers when disconnected from the server and reconnect?There are a lot of timers for each nickname, they are started up for their random time, and if they disconnect from the server, can they be resumed?

By default, timers go belly-up when they come from a network which disconnects, unless you use the -o switch.

If you're going to have timers trying to survive past a disconnect event, you would need to handle the possibility that they trigger while that network is not in a connected state, or during the interval between on-connect and re-joining that channel. This is too much to easily do inside a timer, so instead of having the timer contain the message, it should call an alias while passing along the parameters needed to correctly handle things. Make an alias foobar then call it something like:

Note the code now has code to verify whether the nick is still around. If you need to, you can also add code to deal with the situation where someone changes nick while you're in channel. You could check if you have a timer named after $nick and clone the timer to $newnick then kill the old timer