!759

// returns false if done, otherwise calls whenDone later
sbool action(S s, fRunnable whenDone) {
  new Matches m;
  
  if "Bot pauses * sec" {
    f int secs = parseInt(m.unq(0));
    thread "Bot sleeps" {
      sleepSeconds(secs);
      call(whenDone);
    }
    true;
  }
  
  throw fail("unknown command: " + quote(s));
}