Code:
on *:text:*:#wasted_generation: {
  if ($1 == !ask) && (%d == $null) {
    .msg # $read(answers.txt,tn)
    .set %d -u5 on
  }
}


I assume there's a reason you have the trigger within the event as an IF statement. If there isn't a reason for having it there, you can just use:

Code:
on *:text:!ask *:#wasted_generation: {
  if (%d == $null) {
    .msg # $read(answers.txt,tn)
    .set %d -u5 on
  }
}


Note also that you may want to consider another check on the trigger...

Code:
on *:text:*:#wasted_generation: {
  if ($1 == !ask) && (%d == $null) {
    if ($2 == $null) {
      .msg $chan Please ask a question.
    }
    else {
      .msg # $read(answers.txt,tn)
      .set %d -u5 on
    }
  }
}


You can make this a notice if you prefer and have it message the $nick or the $chan... whatever you prefer. You could also use a halt command instead of using the else statement, but I prefer else for trying to find problems later. Just my preference.


Invision Support
#Invision on irc.irchighway.net