var poll = function(dbot) {
    this.internalAPI = {
        'updatePollNicks': function(server, oldUser, newUser) {
            this.db.scan('poll', function(poll) {
                var needsUpdating = false;
                if(poll.owner == oldUser.id) {
                    poll.owner = newUser.id;
                    needsUpdating = true;
                }
                if(_.has(poll.votees, oldUser.id)) {
                    poll.votes[poll.votees[oldUser.id]]--;
                    delete poll.votees[oldUser.id];
                    needsUpdating = true;
                }
                if(needsUpdating) {
                    this.db.save('poll', poll.name, poll, function(err) {});
                }
            }.bind(this), function(err) {});
        }.bind(this)
    };

    this.onLoad = function() {
       dbot.api.event.addHook('~mergeusers', this.internalAPI.updatePollNicks);
    }.bind(this);
};

exports.fetch = function(dbot) {
    return new poll(dbot);
}