One approach would be using chatmods (so people who can subjectively judge who is spamming and can apply limited cooldowns - since they can't actually ban people from the forums/etc, the filtering for them doesn't need to be as strict as with "real" mods). If someone just does not seem to get it after a long while and chatmods start to remember the person, "real" mods can get involved and further decisions can be made.