sorry i put it to you wrong when i said "you cant have more than one ON *:TEXT: in a file" , i was really meaning you cant have say on *:text:bob* and following that on*:text:bo* the bob* well trigger and the bo* well be ignored, but you could have bo* in another remote file.
As for needing to add a if ($1 == etc etc, i expected you to have to add them, that was the base of the on text event
from there you can expand it in what ways you need, it catches ALL channel text (excluding your own), by checking on $chan and/or $nick and/or $1- you can control what you want to happen.
examples...
if ($chan == #bobsplace) && ($1-2 == !seen bob) { msg $nick well duh its bobsplace! }
if ($chan == #wav) && (@find *.mp3 iswm $1-) { msg $nick no mp3's are found in #wav | describe $chan sees another mp3 request }