The simplest cause is if this says off: /remote
In which case you can fix with: /remote on

When something doesn't work correctly, check if the status window has error messages, because sometimes these errors can halt the script execution at the wrong place.

Otherwise it could be other issues, where a text event above in the same script, or sometimes possibly in another script can interfere with these. Except when certain event prefixes are involved, only 1 match text can trigger that event in each script file. You can have ":!red:" and ":!blue:" in the same script, but if you have ":!*:" wildcard on a line above them, then it is triggered instead the ones below. But if you're not seeing anything triggered at all, then that wouldn't be the problem.

Another cause could be that a channel mode is blocking your bot from speaking into the channel, so it could be working but the messages just do not appear. You can debug your scripts by adding echo messages to your own status window, so you can see if the event is even seeing that script line.

echo -s $remove($script,$mircdir) $scriptline DEBUG event $event nick $nick (1-) $1-

If you insert that line inside your event handler, you can see whether it is being triggered, and if so, can see where the lines stop being executed prior to the message.