this is where a temporary debug message can help. It can verify whether the event is triggered or not, or whether it's triggered but not doing the correct thing. Try adding 2 echo lines to make it look like this:
on @*:text:!open:#: {
echo -s $scriptline nick $nick (1-) $1-
if ($istok(aribun21 aribun21 aribun21,$nick,32)) return
echo -s $scriptline nick $nick (1-) $1-
if (%list.status != closed) { msg $chan The list is already open | return }
unset %list.status
msg $chan OK $chan the list is now open!
}
If you see the 1st echo but not the 2nd, that tells you that the $istok line did it's job of ignoring the !open attempt. If you see neither, then something prevents the event from triggering. 1 reasons could be that you're typing it from the same mirc where the script is running, and the TEXT event sees everyone else's channel messages except your own. A 2nd reason is that the @ prefix makes this event only see things typed by an @op, so if you're not showing the channel the @op status then it won't see you. Another reason for an event not being seen, is the fact that each text message can only trigger 1 TEXT event in channel. So if there's an event earlier in the same script which has
:*: instead of
:!open: the first event is triggered by 100% of messages, and the lower TEXT event cannot be triggered by anything unless one of them is moved to a different script.
Another reason for a script not being triggered are color codes not visible as text. So if someone uses a color code to display !open as red, it doesn't trigger because the message is actually InvisibleColorCodes!open