Put something like this in your turn script so the turn count only increments if game.notarealturn is not true, and then resets game.notarealturn:
if (not game.notarealturn) {
game.turncount = game.turncount + 1
}
game.notarealturn = false
Then set up notarealturn as a boolean attribute on the game object and unresolvedcommandhandler as a script attribute. Quest will look to see if that script exists and call it if it does if the command is not recognised. Put this code in the script.
game.notarealturn = true
This system will catch all input that Quest has no idea how to handle, but not commands like DRINK HAT or WEAR COFFEE that make no sense to you or me, but that Quest will try to handle with default responses. Catching
them is a much bigger job, and you need to flag when a command is successful, and then make sure that every good command sets the flag. It is doable, but much more work.