because it is evaluating the line when you set the timer, once you have set it do /timers and you'll see
try
if ( $1- == PlayFile on ) {
.Timer1 50 1334 msg #MyChan $ $+ read(textfile.txt)
}
or
if ( $1- == PlayFile on ) {
.Timer1 50 1334 msg #MyChan $($read(textfile.txt),0)
}
-edit- and this should be in S&Ps
