@Master Is this due to a plugin that messed up reputation settings? (@pichalite, I believe, summarised this issue for me)... if so, then it looks like a custom script has to be written to re-calculate user reputation points based off of post voting history.
Unfortunately, it is not something we can do for free (about $300 USD with proper testing, etc), so please contact us if you are interested.
Perhaps @exodo can alter his script to accommodate your request?
You would need to make a plugin to listen for a socket event, and in the widget js send the needed data to verify the request server-side. After adjusting the reputation and sending the new rep back, you probably want to make a db key to record the last action taken, such as how core uses pid:x:upvote