This suggestion could apply to text, action, or input actually.
Was just wondering if it would be possible to make that param more 'versatile'. Right now, you can specify channels; all with # or specific ones with #chan1,#chan2,#chan3 etc.
on *:INPUT:#,?: { } should be able to work in both channels and PMs as using the wildcard * would enable it for status and custom windows etc. The fact that ? is only taken as a single parameter and not a comma delimited option is a limitation in my opinion and would be very helpful and logical if it could be used with multiple choices.
Another good modification would be specifying the nicks. eg, ?Kol to trigger in PM with Kol as you can only specify PMs in general. Would remove the use of an if right away.
on *:TEXT:*:#Kol,?Kol,#mIRC: { would trigger on any matchtext in #Kol, #mIRC, or in PM with the nick Kol
on *:TEXT:*:#mIRC,?: { would trigger on any matchtext in #mIRC or all PMs in general.
Not a necessary update but would be very convenient and would remove the need for multiple events or the use of the * wildcard and validation within the script.