instead of using $50 $49 $48 etc you can use $1- which will return every token, and since this only goes up to $50 this wont work if the message is 51 words long
on *:text:!backwords*:#:.msg # $backwords($$2-)
alias backwords {
var %a = 1,%b
while ($gettok($$1-,%a,32)) {
%b = $instok(%b,$v1,$0,32)
inc %a
}
return %b
}