Play is a handy command and very useful than having to use a loop through the whole text file. Since it has a -r switch, it should be taken advantage of. Play is "messy" to you might be 'cause you hardly use it. There is nothin' messy 'bout it.
.play -r $chan 8ball.txt 2000
V.S.
.timer 1 2 msg $chan $read(8ball.txt)
They practically do the same thing. If fact, the play is shorter and more efficient than using $read() with a timer in this case.