+ # each token must end with ++ or --
+ next unless token.match(/^(.*)(\+\+|--)$/)
+ token = $1 # strip ++/-- from token
+ flag = $2 # remember ++/--
+
+ # each token must include at least one alphanumerical character
+ next unless token.match /[[:alnum:]]/
+
+ # ignore assigning points to oneself
+ next if token.downcase == m.sourcenick.downcase
+
+ votes[token] += flag == '++' ? 1 : -1