Give users an automated score based on the posts they make.
TL;DR Each post is scored based on where and how long it is.
First, we define a few constants, which can be changed in the admin page or in the code:
DEFAULT_SCORE = 0.1 MODIFIER_FIRST = 0.1 MODIFIER_WORD = 0.02 MODIFIER_CHAR = 0.0005
... and a few variables, which are computed immediately before the post's score is calculated:
CHARS = [the number of alphanumeric characters in the post, not counting markup] WORDS = [the number of whitespace-separated strings of characters, not counting markup] FIRST = [1 if the post is the first in a topic, 0 otherwise] MODIFIER_FORUM = [the forum-specific multiplier, or 1 if it is not set]
... then we solve this equation:
SCORE = (DEFAULT_SCORE + MODIFIER_FIRST * FIRST + MODIFIER_CHAR * ln(CHARS)^2 + MODIFIER_WORD * ln(WORDS)^2) * MODIFIER_FORUM