I know what I want it to do, just not sure how to go about doing it.

Channel #Vote is invite only that accepts outside messages.
I want people to be able to /msg #Vote (A,B,C,D)
I then want to be able to !stats to see the outcome of the current votes

Past 2 hours:
A: ##, B: ##, C: ##, D: ##

A: ##, B: ##, C: ##, D: ##

Each person is allowed 1 vote but can change the vote, and the change in vote should have the time stamp to be included in the past 2 hours of votes if applicable.

I would assume Id need to create a list of users with their vote and a time stamp, then check the last 2 hours, add up the votes and display that, then add up all votes and display that.

I would also like to have a !reset that either wipes all votes or old votes based on how many hours old the vote is.

Also, there may come a time where there are additional options to vote on besides just 4, should be an easy copy/paste adding the additional choice.