Having the same issue. Everything works except the handling of error 28.  I made a retry function but it keeps saying that offer.accept is not a function (Line 73)     
manager.on('newOffer', function (offer) {
    console.log("New offer #" + offer.id + " from " + offer.partner.getSteam3RenderedID());
    offer.accept(function (err) {
        if (err) {
            console.log("Unable to accept offer: " + err.message);
            console.log("Cause: " + err.eresult);
            if (err.eresult == 28) {
                retryOffer(offer.id);
            }
        }
        else {
            steam.checkConfirmations(); 
            console.log("Offer accepted");
        }
    });
});
function retryOffer(id) {
    manager.getOffer(id, function (err,offer) {
        if (err) {
            console.log("Unable to get offer: " + err.message);
                console.log("Retrying to get.");
                setTimeout(function(){ 
                retryOffer(id);
                }, retryTime);
        }
        else {
            offer.accept(function (err) {
                if (err) {
                    console.log("Unable to accept offer: " + err.message);
                    if (err.eresult == 28) {
                        console.log("Retrying to accept.");
                        retryOffer(offer.id);
                    }
                }
                else {
                    steam.checkConfirmations();
                    console.log("Offer accepted");
                }
            });
        }
    });
}
 Edit: Fixed the code. Maybe someone finds that useful. Thanks Dr. McKay. Awesome project, awesome help!