First option: manual triggers by moderators and/or trust level 4.
Second option: automatic trigger calculated like the hotness score, which is increased with: (a) a lot of short replies following each other in rapid succession by the same writers, (b) a lot of messages in general in rapid succession, (c) a message was flagged in that topic recently.
For example:
- Topic has a hotness score, which dilutes 1 point every 10 minutes. Every flag in the thread (for recent messages) adds 20 points to hotness. If the same writer posts short messages (e.g. less then 200 chars) within 20 minutes, add 10 points. Every time a post is sent and there are 2 other posts within the last 10 minutes, add 10 points.
- When hotness reaches 60, mark the topic as hot topic, efefctively limiting posts to one per 30 minutes per same writer. When hotness decreases to 50, remove limitation.
- If hotness reaches 100, temporarily close the topic. When hotness decreases to 90, open topic.
Note: I invented the numbers and didn’t do any math on how it would turn out, so just an example of how it might work.