Well technically you do still use 'on key pressed' to determine if it was pressed, because something will action if that key was pressed meaning it's true. There are loads of approaches. You could do it with 2 variables, one which changes whenever you press a key so on A pressed, set it to A. You check this against another variable which is the "correct key", so if the correct key variable is "A" and you press the A key then both of those variables would be the same and feedback you pressed the right one.
As for spamming again you could use those 2 variables in a different way. Set the "correct key" to be spammed to "A" and ensure this time that it always matches the other variable when a key is pressed. If it differs then they pressed another key.