I was thinking repeated messages in the output, not for a specific player. This would make possible to spam if two players press !y continuously - you would see player A, yes, player B, yes, player A yes, player B, yes, etc. but having 2 spammers coordinate is a bit harder...
Taking time into account would indeed solve some problems, but might make implementation more complex (not sure if timestamp is stored, how long is it kept etc.). By comparison, storing previous message and comparing with next message to be printed sounds fairly easy.