As I mentioned on this answer already: I guess one of your problems is to determine wether upvote insert rule or downvote insert rule was triggered - vote up/down is storing this in two separate voting sets. (I might be wrong here, when I am good for you).
Let's say it is just one vote set and there are minus votes. you would have to adjust the positive check in the condition to a negative points check. I had my rules still in the environment so I cloned them and did those changes:
(minus points will be probably just negative grants.)
Event: User votes on a Node
Condition: User has role(s)
Parameter: User: [vote:user], Roles: authenticated user
Condition: Check the value of the vote
Parameter: Vote: [vote], Operator: is lower than or equal to, Data value: 0
Action
Grant points to a user
Parameter: User: [vote:user], Points: -3, Points category: General, Operation: Insert, Moderate: Use the site default
Export:
{ "rules_substract_down_voter" : {
"LABEL" : "substract down voter",
"PLUGIN" : "reaction rule",
"REQUIRES" : [ "rules", "voting_rules", "userpoints_rules" ],
"ON" : [ "voting_rules_insert_node" ],
"IF" : [
{ "user_has_role" : { "account" : [ "vote:user" ], "roles" : { "value" : { "2" : "2" } } } },
{ "voting_rules_condition_check_vote_value" : { "vote" : [ "vote" ], "operator" : "\u003C=", "value" : "0" } }
],
"DO" : [
{ "userpoints_action_grant_points" : {
"user" : [ "vote:user" ],
"points" : "-3",
"tid" : "0",
"entity" : [ "" ],
"operation" : "Insert",
"display" : 1,
"moderate" : "default"
}
}
]
}
}
So there are still some things for you to check:
- does vote/up down use one or two rule sets?
- if it uses two, how to determine that in rules?
- if it's only one with negative votes than you're done.