I see this is marked as SOLVED already but I couldn't help but stumble here. I am unsure of how the number guessing works, but I noticed that you don't have any "check" to see if the user already made a guess or not. Assuming that they are only allowed ONE guess, I wrote the following code that should also work:

Code:
// Bingo Card Number Guess SYNTAX: !guess
on $*:TEXT:/^!guess\s\d+$/iS:#mychannel:{
  if (($2 isnum 0-25) && (!$read(bingoguess.txt, nts, < $+ $nick $+ >))) {
    write bingoguess.txt < $+ $nick $+ > --- $2 ---
    msg $chan $nick Chose the Number $2 $+ .
  }
}


If they are allowed MORE than one guess, then the following will work:
Code:
// Bingo Card Number Guess SYNTAX: !guess
on $*:TEXT:/^!guess\s\d+$/iS:#mychannel:{
  if ($2 isnum 0-25) {
    write bingoguess.txt < $+ $nick $+ > --- $2 ---
    msg $chan $nick Chose the Number $2 $+ .
  }
}


The first line with TEXT is regex which says that they need to type "!guess" with any number after it. It won't work with negatives or decimal places. The if statement (on the first code block) says that that number has to be between 0 and 25 AND that persons name can NOT already be in the text file. That way they can't make multiple votes. The second code block allows them to make multiple votes if that's what is intended. This is just another way to do it, hope it helps.