Didn't I already tell you last nite that isnum isn't a valid tcl command (thus it must be a proc on your bot). For tcl versions 8.1 or higher, [string is double $string] would work. And I still can't be bothered working it out for 8.0.x
For a number with a decimal point, you could do a combination of regexp and expr, i.e. check to see that the string is only "+-.[0-9]", then do, if [catch {expr $x + 1}] to see if it's valid (i.e. doesn't have more than one decimal, etc).