What kind of protection do you have in mind? You didn't say what kind of count-extra you had in mind for someone typing long messages. If you're blocking 3 messages in N seconds, and if someone types a really long message, should that possibly be enough 'points' to cause someone to be banned (or whatever action you're taking against them)?

Depending on how you want to do things, there would be different ways to accomplish it. For example, if you want the points to be (length of message / 100) with a minimum of 1, that would require putting the 'points' into each hashtable item, then looping through all the hashtable items to count all the points. Or if you want messages longer than a specific threshhold to count as if a 2nd message, then it would just add a 2nd hashtable item for those messages.