# File rbot/plugins/karma.rb, line 32 def listener(m) if(m.type == "PRIVMSG" && m.public?) # in channel message, the kind we are interested in if(m.message =~ /(\+\+|--)/) string = m.message.sub(/\W(--|\+\+)(\(.*?\)|[^(++)(--)\s]+)/, "\2\1") seen = Hash.new while(string.sub!(/(\(.*?\)|[^(++)(--)\s]+)(\+\+|--)/, "")) key = $1 change = $2 next if seen[key] seen[key] = true key.sub!(/^\((.*)\)$/, "\1") key.gsub!(/\s+/, " ") next unless(key.length > 0) next if(key == m.sourcenick) if(change == "++") @karmas[key] += 1 elsif(change == "--") @karmas[key] -= 1 end end end end end